Two weeks after he was traded to Arizona, Carter was traded to the Oakland Athletics as part of the package to bring Dan Haren to Arizona.[2] He played for the Stockton Ports in the 2008 season where he hit 39 home runs and had 104 runs batted in. Carter was named the California League Rookie of the Year for the 2008 season.[3] In 2009, Carter split time between Double-A Midland and Triple-A Sacramento, putting a .329 batting average (a 70 point increase from 2008), 28 homers and 115 RBIs combined. In 2008 and 2009, Baseball America ranked Carter as one of the top 10 prospects in the Athletics' organization.[4] Also in 2008 and 2009, Carter was the Oakland Athletics' Minor League Player of Year.[5] He was placed on the A's 40-man roster on November 20, 2009.[6] In 2009, he was named the This Year in Minor League Baseball Awards "Overall Hitter of The Year".[5]

On August 9, 2010, Carter was promoted to Oakland and went 0–3 in his first game. On August 16, Carter was demoted to Triple-A Sacramento after starting his career 0–19 with 12 strikeouts. After the AAA season ended, Carter was recalled to Oakland. On September 20, he snapped his 0–33 streak with a single in the sixth inning.

During the 2013 season, Carter played 148 games batting .223 with 29 home runs, 82 RBI, and struck out an MLB-leading 212 times. He became only the fourth player to join the 200-strikeout club and his number of strikeouts set a new American League record for a right-handed hitter.

The 2014 season started out even slower for Carter, as he batted only .153 throughout the entire month of April. Carter would turn his fortunes around after the All-Star break though, as he ended up finishing with career-highs of 37 home runs and 88 RBI's. On January 14, 2015, Carter and the Astros agreed to a one year contract worth $4.175 million, avoiding arbitration.[9]