Martínez signed with the Chicago White Sox as an amateur free agent in February 2006. From 2006 to 2014, he played in the White Sox and Atlanta Braves organizations. He also spent time with the Rockford Aviators of the Frontier League, an independent league, in 2014. Prior to 2015 season, Martínez signed with the Kansas City Royals. While playing for the Omaha Storm Chasers that year, his.384 batting average broke a modern-day Pacific Coast League record. He also led the PCL in on-base percentage and was an All-Star. He batted.382 overall in 2014–which included rehab time in the Arizona League–good for the fifth-highest mark since the modern era of the minor leagues began in 1963. Martinez was ultimately seven hits short of batting.400 for the season. The Royals added Martínez to the 40-man roster on November 6, 2015, and designated him for assignment on May 18, 2016, in favor of Whit Merrifield. One week later, they traded him to the St. Louis Cardinals for cash.
St. Louis Cardinals
After 887 games with 11 minor league teams, Martínez made his major league debut on September 6, 2016, against the Pittsburgh Pirates. He ground out as a pinch-hitter in the seventh inning in his first at bat. His first major league hit and run batted in occurred two days later, scoring Greg Garcia on an infield single in a 12−5 loss to the Milwaukee Brewers. For the season, he had 7 hits in 16 at bats. The Cardinals announced that Martínez made their 2017Opening Day roster, his first in the major leagues, after leading the club with 19 hits and 15 RBI in spring training. He hit his first major league home run against the Toronto Blue Jays on April 25. On August 6, 2017, Martínez hit his first major league career grand slam off Homer Bailey of the Cincinnati Reds, cementing a nine run frame for the Cardinals in a 13–4 win. For the season, he batted.309/.379/.518. Martínez began 2018 as St. Louis' starting first baseman. On June 8, 2018, he hit two home runs off of Matt Harvey of the Cincinnati Reds at Great American Ball Park, helping St. Louis defeat the Reds 7-6 in ten innings. He finished his 2018 campaign slashing.305/.364/.457 with 17 home runs and 83 RBIs in 152 games, and led the majors in percentage of balls hit to the opposite field, as well as in percentage of soft-hit batted balls. In February 2019, Martínez signed a two-year, $3.25 million contract with St. Louis. For the 2019 regular season, he batted.269/.340/.751 with ten home runs and 42 RBIs over 128 games.
On January 9, 2020, Martínez was traded to the Tampa Bay Rays along with Randy Arozarena and the Cardinals’ Competitive Balance Round A draft pick in exchange for Matthew Liberatore, Edgardo Rodriguez, and the Rays’ pick in Competitive Balance Round B.