Kelly made his MLB debut on June 10, replacing the injured Jaime García in the Cardinals' starting rotation.
Kelly pitched seven innings in his MLB debut, against the Cleveland Indians, allowing seven hits and one run while striking out four batters; he received a no decision in the game.
Once García returned to the rotation, Kelly moved to a bullpen role; however, he impressed team officials so much they considered keeping him in the rotation and moving Lance Lynn to the bullpen.

Overall for the 2012 Cardinals, Kelly appeared in 24 games (16 starts) while compiling a 5–7 record, with a 3.53 ERA and 75 strikeouts in 107 innings pitched.

First MLB hit
Kelly acquired his first major league hit and run batted in (RBI) on June 25, 2012, against the Miami Marlins.
In an extra-innings game played at Marlins Park, the Cardinals had taken a 7–6 lead in the top of the tenth inning and had the bases loaded with two out, when the pitcher's spot in the batting order was due to hit.
As Cardinals manager Mike Matheny had no position players available to pinch hit, Matheny chose a speedy former college outfielder to bat, rookie pitcher Joe Kelly.
Kelly beat a ground ball for an infield hit that scored a run—his first major league hit and RBI—and put the Cardinals up 8–6.
This run proved to be crucial, as Miami scored a run in the bottom of the tenth, before reliever Jason Motte closed it out for an 8–7 Cardinals win.

2012 Postseason
Kelly's first MLB postseason series was the 2012 National League Division Series, against the Washington Nationals.
He appeared in three games and pitched ​3 ²⁄₃ innings of relief without giving up a run or a hit; he walked one batter and struck out three batters.
The Cardinals then advanced to the 2012 NLCS against the San Francisco Giants.
In the deciding Game 7, Kelly came on to pitch in the third inning with the Giants ahead 2–0 with the bases loaded and no outs; he gave up two hits and two walks, lasting just ​²⁄₃ of an inning, and exited with the Giants ahead 7–0, in a game they would go on to win 9–0.
Overall, Kelly made four appearances in the series, pitching a total of four innings in relief; he gave up six hits and was charged with two earned runs, while walking three batters and striking out two batters.
Kelly made his MLB debut on June 10, replacing the injured Jaime García in the Cardinals' starting rotation. Kelly pitched seven innings in his MLB debut, against the Cleveland Indians, allowing seven hits and one run while striking out four batters; he received a no decision in the game. Once García returned to the rotation, Kelly moved to a bullpen role; however, he impressed team officials so much they considered keeping him in the rotation and moving Lance Lynn to the bullpen.
Overall for the 2012 Cardinals, Kelly appeared in 24 games (16 starts) while compiling a 5–7 record, with a 3.53 ERA and 75 strikeouts in 107 innings pitched.
First MLB hit
Kelly acquired his first major league hit and run batted in (RBI) on June 25, 2012, against the Miami Marlins. In an extra-innings game played at Marlins Park, the Cardinals had taken a 7–6 lead in the top of the tenth inning and had the bases loaded with two out, when the pitcher's spot in the batting order was due to hit. As Cardinals manager Mike Matheny had no position players available to pinch hit, Matheny chose a speedy former college outfielder to bat, rookie pitcher Joe Kelly. Kelly beat a ground ball for an infield hit that scored a run—his first major league hit and RBI—and put the Cardinals up 8–6. This run proved to be crucial, as Miami scored a run in the bottom of the tenth, before reliever Jason Motte closed it out for an 8–7 Cardinals win.
2012 Postseason
Kelly's first MLB postseason series was the 2012 National League Division Series, against the Washington Nationals. He appeared in three games and pitched ​3 ²⁄₃ innings of relief without giving up a run or a hit; he walked one batter and struck out three batters. The Cardinals then advanced to the 2012 NLCS against the San Francisco Giants. In the deciding Game 7, Kelly came on to pitch in the third inning with the Giants ahead 2–0 with the bases loaded and no outs; he gave up two hits and two walks, lasting just ​²⁄₃ of an inning, and exited with the Giants ahead 7–0, in a game they would go on to win 9–0. Overall, Kelly made four appearances in the series, pitching a total of four innings in relief; he gave up six hits and was charged with two earned runs, while walking three batters and striking out two batters.
Joe Kelly (pitcher)