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.[2] Centeno began his professional career in 2007 with the Gulf Coast League Mets at the Rookie League league level
In 2013, Centeno advanced to the Triple-A level with the Las Vegas 51s. On September 9, 2013, Centeno was called up to the majors for the first time.[3] 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 league RBI. For the 2013 season, Centeno appeared in four MLB games, batting .300 with one RBI. After the 2013 season, he played for Carolina of the LBPRC.
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.
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 (1-for-21).[5] He was optioned to the Triple-A Colorado Springs Sky Sox when Lucroy returned.[6] On November 2, Centeno was removed from the 40–man roster and sent outright to Triple–A Colorado Springs on November 2.[7] He was granted free agency on November 6.[4] After the 2015 season, he played for Cangrejeros de Santurce and Criollos de Caguas of the LBPRC.
In 2016, He served as the team's regular back-up catcher, appearing in 55 games with 192 plate appearances while batting .261 (46-for-176) with three home runs and 25 RBIs.[8] He again became a free agent on November 23, 2016.[4]
After the 2016 season, he played for Tiburones de Aguadilla of the LBPRC.
Houston Astros
On December 15, 2016, Centeno signed a minor league contract with the Houston Astros.[9]
On May 23, 2017, Centeno appeared in his first game for the Astros against the Detroit Tigers, where he homered in his debut.[10] In 22 games with the Astros in 2017, Centeno finished with a .231 batting average, two home runs, and four RBI.[10] The Astros finished the season with a 101–61 record, and went on to win the World Series for the first time.[11] Centeno was on the Astros' roster through the postseason, but only appeared in one postseason game (Game 3 of the 2017 ALDS) and did not have a plate appearance.[12]
Texas Rangers
Centeno was claimed off waivers on November 27, 2017, by the Texas Rangers.[13]
Early in the 2018 season, he appeared in 10 games with the Rangers, batting .162 (6-for-37) with one home run and three RBIs.[14] He was designated for assignment on May 3, and sent outright to the Triple-A Round Rock Express four days later.[15] He was granted free agency on October 1, 2018.[4][16]
After the 2018 season, he played for Indios de Mayagüez of the LBPRC.
On September 1, 2019, the Red Sox selected Centeno's contract, adding him to their active MLB roster.[19] He played his first game with the Red Sox on September 11, appearing against the Toronto Blue Jays.[20] Centeno appeared in seven games with the 2019 Red Sox, batting .133 with two RBI. Following the 2019 season, he was removed from Boston's 40-man roster and elected to become a free agent.[21][22]
After the 2019 season, he played for Atenienses de Manatí of the LBPRC.
On January 23, 2020, Centeno re-signed with the Red Sox on a minor league contract.[23] He was later announced as a non-roster invitee to Red Sox spring training,[24] but did not play in a game in 2020 due to the cancellation of the minor league season because of the COVID-19 pandemic.[25] Centeno became a minor league free agent on November 2.[26]
Detroit Tigers
On April 15, 2021, Centeno signed a minor league contract with the Detroit Tigers organization.[27] Centeno began the 2021 season with the Double-A Erie SeaWolves. After only five games, hitting .316 with one home run and four RBI, he was promoted to the Triple-A Toledo Mud Hens. Centeno played in 53 games for Triple-A Toledo, hitting .277 with one home run and 17 RBI. He became a free agent following the season.
Arizona Diamondbacks
On January 25, 2022, Centeno signed a minor league contract with the Arizona Diamondbacks.[28] He split the season between the Double–A Amarillo Sod Poodles and Triple–A Reno Aces, slashing .305/.355/.512 with 15 home runs and 67 RBI in 91 combined appearances.
In 2023, Centeno spent the entire year with Amarillo, playing in 68 games and hitting .271/.324/.327 with one home run, 23 RBI, and 4 stolen bases. He elected free agency following the season on November 6, 2023.[29]
Saraperos de Saltillo
On November 23, 2023, Centeno signed with the Saraperos de Saltillo of the Mexican League.[30] In 44 games for Saltillo in 2024, he batted .347/.438/.438 with one home run and 22 RBI. Centeno was released by the Saraperos on July 24, 2024.[31]