In 2011, Tomlinson began his professional baseball career playing for the Augusta GreenJackets of the Class ASouth Atlantic League, hitting.356 in 149 at bats. In 2012, Tomlinson finished the year with a.224 average in 450 at bats. In 2013, Tomlinson started the year with the AZL Giants of the Arizona Fall League. He was then promoted to the San Jose Giants of the California League at the A-Advanced level, where he had a.276 average in 134 at bats. He was then called up to play for the Richmond Flying Squirrels of the Class AAEastern League. He struggled, managing only a.198 average in 96 at bats. In 2014, Tomlinson was now the starting second baseman for the Richmond Flying Squirrels. He eventually finished the year with a.268 average in 433 at bats, playing in 126 games. In 2015, Tomlinson continued to play for the Richmond Flying Squirrels. He was eventually promoted to play for the Sacramento River Cats of the Pacific Coast League, at the AAA level. after hitting.324 in 253 at bats for the Flying Squirrels. He managed a.316 average in 136 at bats before being called up the Major Leagues, to play for the San Francisco Giants. In his minor league career, Tomlinson played in 457 games and recorded 1679 at bats. He scored 253 runs and 459 hits. Tomlinson hit 8 home runs and had 160 runs batted in. He was walked 175 times and struck out 336 times. Tomlinson also stole 126 bases. In the minors, Tomlinson recorded an average of.273 and an on-base percentage of.345.
Major League career
San Francisco Giants
Tomlinson was called up to the San Francisco Giants on August 3, 2015, to replace the injured Joe Panik. Tomlinson also made his debut that day, hitting a single and scoring a run in the 12th inning of a game against the Atlanta Braves. He started his first major league game on August 5, driving in three runs in his first two at-bats. Tomlinson became the first Giant to hit safely in his first three at-bats since Fred Lewis in 2006. On August 27, Tomlinson hit a grand slam off James Russell of the Chicago Cubs for his first major league home run. The next day, he got his first walk-off hit: a single against a drawn-in five-man infield in a 5–4 win against the St. Louis Cardinals. On October 3 at AT&T Park, in a 3-2 win over the Colorado Rockies, Tomlinson hit an inside-the-park home run off Chris Rusin. During his rookie season with the Giants, Tomlinson made 46 starts at second base and played in 54 games. He batted.303 while driving in 20 runs. Following the 2015 season, in an effort to add to his versatility, he began training as an outfielder in the instructional league. Tomlinson made the Giants 25-man roster in 2016 as a backup infielder. During the 2016 season, Tomlinson made starts at second base, shortstop, third base and left field for the Giants while playing in 52 games and having a.292 batting average. During the 2017 season he appeared in 104 games with 38 starts for the Giants. During the 2018 season he appeared in 63 games with 19 starts for the Giants. He was outrighted to Triple-A on October 22, 2018. He elected free agency on November 2, 2018.
On November 20, 2018, Tomlinson signed a minor-league deal with the Arizona Diamondbacks. He was released on May 12, 2019 after playing in 30 games for the Triple-A Reno Aces.
He signed a minor league deal with the Seattle Mariners on May 31, 2019 and was assigned to the Triple-A Tacoma Rainiers. He became a free agent following the 2019 season.
Colorado Rockies
On January 21, 2020, Tomlinson signed a minor league deal with the Colorado Rockies. He was released on June 27th.