Stallings made his professional debut that same year with the State College Spikes, where he batted .230/.324/.332 in 66 games. He also played in one game for the Altoona Curve at the end of the season. In 2013, Stallings played for the Bradenton Marauders, where he hit .219 with six home runs and 23 RBIs in 78 games, and in 2014, he returned to Bradenton where he batted .241 with four home runs and 30 RBIs in 68 games. Stallings spent 2015 with Altoona where he slashed .275/.313/.370 with three home runs and 32 RBIs in 74 games. He began the 2016 season with the Indianapolis Indians.
Stallings was called up to the majors for the first time on June 19, 2016.[4] Stallings recorded his first major league hit, a double, on June 21 against the San Francisco Giants. He was designated for assignment on July 5, and outrighted to back to Indianapolis after clearing waivers. In 80 games for Indianapolis, Stallings hit .214/.252/.350 with six home runs and 28 RBIs. Stallings was recalled again by the Pirates on September 13.[citation needed] On September 23, he had a game-winning RBI single in the Pirates' 6–5 win over the Washington Nationals.[5] He was outrighted on November 2, 2016.[6]
In 2017, Stallings spent the majority of the season with Indianapolis, slashing .301/.358/.431 with four home runs and 38 RBIs in 62 games.[7] He also played in five games for Pittsburgh. Stallings began 2018 with Indianapolis, and was recalled by the Pirates on June 10. On September 17, he had a game-winning RBI single in the Pirates' 7–6 win over the Kansas City Royals.[citation needed] In 2018, with Pittsburgh, Stallings batted 216/.268/.216.
Stallings entered the 2019 season out of minor league options.[8] He was outrighted off the roster on May 17, 2019,[9] but was promoted back to the major leagues on May 26 when Francisco Cervelli went on the injured list.[10]
In 2020, Stallings batted .248/.326/.376 for the Pirates with three home runs and 18 RBIs.[11] He had the slowest time from home plate to first base of all major leaguers, at 5.09.[12]
On July 17, 2021, Stallings hit a walk-off grand slam to beat the New York Mets 9–7, the third walk-off grand slam in PNC Park history.[13] Stallings finished the 2021 season batting .246/.335/.369 with eight home runs and 53 RBIs in 113 games. He won the Gold Glove Award and Fielding Bible Award that year.[14][15]
Stallings' salary for the 2022 season was decided in an arbitration hearing on June 18. He requested $3.1 million, and was awarded $2.45 million.[17]
On January 13, 2023, Stallings agreed to a one-year, $3.35 million contract with the Marlins, avoiding salary arbitration.[18] On May 3, Stallings replaced Devin Smeltzer as the pitcher in the ninth inning of a game against the Atlanta Braves. After recording a double play, Stallings faced April NL Player of the Month Ronald Acuña Jr., whom he struck out on four pitches.[19] He was non-tendered and became a free agent on November 17.
Colorado Rockies
On January 5, 2024, Stallings signed a one-year contract with the Colorado Rockies.[20]