The Kansas City Royals drafted Giavotella in the second round of the 2008 Major League Baseball Draft. He played in Class-A in the Midwest League in 2008 and 2009, advanced to Double-A in 2010, and played in the Pacific Coast League and Triple-A Omaha in 2011. Giavotella was called up to the majors for the first time on August 5, 2011. On August 7, 2011, Giavotella hit his first major league career home run off the Detroit Tigers' Max Scherzer. Giavotella would finish the 2011 season with 2 home runsand 21 RBI's in 46 games. In 2012, Giavotella split time between the majors and in AAA with the Royals. The Royals recalled Giavotella on June 29, 2013 after Jeff Francoeur was designated for assignment. Giavotella was designated for assignment on December 18, 2014. Giavotella's 2014 season was marred with inconsistency as he was called up to the Royals roster for just 12 games, hitting.216 while not displaying improvement since his rookie year.
On December 19, 2014, Giavotella was traded to the Los Angeles Angels of Anaheim in exchange for Brian Broderick. The Angels faced a stiff competition in spring training for the 2nd base position, as he battled against fellow infielders Josh Rutledge and Grant Green. After besting the competition, Giavotella cracked the opening day roster for the first time in his career. The 2015 season saw Giavotella manning second base for the majority of the season, setting career highs in every offensive category. In 2016, while he improved his defense dramatically from the prior season, Giavotella was designated for assignment towards the end of the month of August and was not called up when rosters expanded in September. Giavotella would finish his 2016 season with a career high 6 home runs and a.260 AVG in 99 games.
Baltimore Orioles
On February 1, 2017, Giavotella signed a minor league contract with the Baltimore Orioles. In July, the Orioles selected his contract and added him to the active roster. With an injury to starting shortstop J. J. Hardy, and a 5-game losing streak heading into the All-Star break, the team's looking for help in the field and at the plate. The 29-year-old infielder has been hitting.306/.368/.441 with 22 doubles, four triples, five homers and 45 RBIs in 83 games for Norfolk. His.306 average ranks him fourth in the International League. Orioles manager Buck Showalter says of him: “There’s no one who plays the game harder than Johnny.. said he was their best hitter, so we’ll bring him up here, see if there’s a need for what he brings.” On August 1, Giavotella was designated for assignment.
On May 12, 2018, Giavotella signed a minor league contract with the Chicago White Sox. He was released on June 21, 2018. Giavotella announced his retirement on August 11.