CHICAGO -- St. Louis rookie Joe Kelly is piling up plenty of positive impressions, just not a lot of wins.
Kelly wound up on the losing end again Saturday after pinch-hitter Reed Johnson drove in the go-ahead run with a bunt single in the seventh inning to give the Chicago Cubs a 3-2 victory and end the Cardinals' four-game winning streak.
Kelly (1-4) recorded his seventh straight quality start despite the loss.
Kelly set down the next 14 batters, including four straight strikeouts at one point, after giving up a two-run triple to Alfonso Soriano. Kelly struck out a career-best six.
Cardinals manager Mike Matheny was asked if he envisioned Kelly finishing the season in the rotation.
"To me, we are in that scenario right now," Matheny said. "He's pitched great for us. We just keep going.
"We are very content with what we got. If your starters are going out and giving quality starts, which he has given just as many as anyone lately, that's all you can ask."
Kelly has moved into the rotation while Jaime Garcia recovers from a shoulder strain.
"That's all I can ask for," Kelly said. "Wins and losses are out of my control."
The Cubs had lost five in a row to St. Louis. Chicago has won nine of its last 11 overall at Wrigley Field.
Johnson caught the Cardinals by surprise when he squared up on the first pitch with runners on first and third and two outs. His bunt fell perfectly between reliever Brian Fuentes and third baseman Matt Carpenter, which allowed pinch-runner Tony Campana to score.
"It was a good play," Fuentes said. "It's probably not what you would expect. It's a risky situation for them, put the runner in motion and lay down a bunt. Had a lot of faith in themselves and [he] laid down a good one."
James Russell (3-0) earned the win in relief.
Carlos Marmol pitched the ninth for his 13th save in 15 chances. He struck out Skip Schumaker and got John Jay on a ground out with pinch-runner Tyler Greene on second to end the game.
Bryan LaHair drew a leadoff walk in the seventh from Kelly. Campana entered the game and stole his 26th base in 29 tries, then went to third on Geovany Soto's single. Johnson bunted for a hit two outs later.
Kelly allowed three runs over a career-high 6 1/3 innings. He hasn't allowed more than three runs in any of his nine outings this season.
Both starters struggled early then settled down. They combined to strike out seven straight batters at one point.
Cubs starter Jeff Samardzija's first seven pitches eluded the strike zone, but he limited St. Louis to one run in the inning on an RBI grounder by Carlos Beltran.
Kelly allowed hits to three of the Cubs' first four batters. David DeJesus singled to start the game, followed by Starlin Castro's double. Both scored on Soriano's two-run triple that bounced around the left-field corner and got away from Matt Holliday. It was Soriano's first triple since last Aug. 11.
Samardzija's control problems returned in the sixth when St. Louis loaded the bases on a pair of walks and a broken-bat single by Yadier Molina. Daniel Descalso tied the score at 2-2 with a sacrifice fly to deep right.
Samardzija finished with seven strikeouts over six innings but walked six, the second-most in his career. He walked seven against the Cardinals on Sept. 26, 2010 at Wrigley Field.
* Cardinals 3B David Freese was held out of the starting lineup for the second straight day after leaving Thursday's win over the Dodgers because of cramping in his right calf. He was available for pinch-hitting duty Saturday, and Matheny expects him to return to the lineup for today's series finale.
* Sveum was ejected after the seventh inning by 1B umpire Mike Winters for arguing that Castro had beaten out an infield hit with the bases loaded.
Connect with the Southeast Missourian Newsroom:
For corrections to this story or other insights for the editor, click here. To submit a letter to the editor, click here. To learn about the Southeast Missourian’s AI Policy, click here.