Centeno was selected in round 32 with the 991st pick of the 2007 MLB draft by the New York Mets. He received a $5,000 signing bonus. He was selected primarily because of his defensive qualities, as his batting capabilities were not the best. Centeno began his professional career in 2007 with the Gulf Coast League Mets at the Rookie League league level, and advanced to the Triple-A level in 2013 with the Las Vegas 51s. Centeno was called up to the majors for the first time on September 9, 2013. He made his major league debut on September 18 against the San Francisco Giants, going 2-for-4 with two singles, and his first major leagueRBI. For the 2013 season, Centeno appeared in four MLB games, batting.300 with one RBI. In 2014, he appeared in 10 MLB games, batting.200 with two RBIs. That season, Centeno also played in 74 minor league games, batting.289 with one home run and 25 RBIs.
Milwaukee Brewers
On October 31, 2014, Centeno was selected off waivers by the Milwaukee Brewers. In 2015, after catcher Jonathan Lucroy was injured, Centeno was called up to Milwaukee. From late April to late May, he appeared in 10 MLB games, batting.048. He was optioned to the Triple-A Colorado Springs Sky Sox when Lucroy returned. Centeno was granted free agency on November 6, 2015.
Minnesota Twins
Centeno signed with the Minnesota Twins on November 30, 2015. He served as the team's regular back-up catcher during the 2016 season, appearing in 55 games with 192 plate appearances while batting.261 with three home runs and 25 RBIs. He again became a free agent on November 23, 2016.
Houston Astros
In December 2016, Centeno signed a minor league contract with the Houston Astros. He appeared in his first game for the Astros on May 23, 2017, against the Detroit Tigers where he homered in his debut. In 22 games with the Astros in 2017, Centeno finished with a.231 batting average, two home runs, and four RBI. The Astros finished the season with a 101–61 record, and went on to win the World Series for the first time. Centeno was on the Astros' roster through the postseason, but only appeared in one postseason game and did not have a plate appearance.
Texas Rangers
Centeno was claimed off waivers on November 27, 2017, by the Texas Rangers. Early in the 2018 season, he appeared in 10 games with the Rangers, batting.162 with one home run and three RBIs. He was designated for assignment on May 3, and sent outright to the Triple-A Round Rock Express four days later. He was granted free agency on October 1, 2018.
Boston Red Sox
On November 13, 2018, Centeno signed a minor league deal with the Boston Red Sox; he was assigned to the Triple-A Pawtucket Red Sox. On September 1, 2019, the Red Sox selected Centeno's contract, adding him to their active MLB roster. He played his first game with the Red Sox on September 11, appearing against the Toronto Blue Jays. Centeno appeared in seven games with the 2019 Red Sox, batting.133 with two RBIs. Following the 2019 season, he was removed from Boston's 40-man roster and elected to become a free agent. Centeno re-signed with the Red Sox on a minor league deal on January 23, 2020. He was later announced as a non-roster invitee to Red Sox spring training.
Centeno has played in the Puerto Rican Winter League for several teams. Through the league's 2018–19 season, he has appeared in 154 games in parts of seven seasons, batting.228 with three home runs and 42 RBIs.