Nick Gonzales hit a go-ahead single in the eighth inning and Pirates starting pitcher Mitch Keller was effective through seven to help Pittsburgh earn a 2-1 win over the visiting St. Louis Cardinals on Monday.
Gonzales knocked a one-out sinker from reliever John King (3-2) into right field to drive in Bryan Reynolds, who hit a leadoff single and advanced to second on a wild pitch.
Keller allowed one run on six hits, with three strikeouts and two walks. Aroldis Chapman (2-4) tossed a perfect eighth, and David Bednar gave up one hit in the ninth while logging his 18th save.
Oneil Cruz hit an RBI single and Rowdy Tellez produced two hits as Pittsburgh won for the seventh time in eight games.
Nolan Gorman homered and Paul Goldschmidt had two hits for the Cardinals, whose two-game winning streak ended.
In a 1-1 game, Pittsburgh threatened in the seventh but couldn’t capitalize. Jack Suwinski singled with one out and advanced to third on Joshua Palacios’ pinch-hit single to right field. Joey Bart reached on a fielder’s choice with a one-hopper to third, but Suwinski was tagged out at the plate to keep the game even.
Palacios and Bart were left stranded when Andrew McCutchen grounded out.
After leaving four runners on base through the first four innings, the Cardinals wasted little time in the fifth to tie it up. Gorman connected on a second-pitch curveball to lead it off, knocking it off the right field foul pole to make it 1-1.
St. Louis had an opportunity to take the lead in the frame. Pedro Pages followed the home run with a single and Willson Contreras drew a two-out walk. That brought up Brendan Donovan, and the left fielder made contact for a ground ball that appeared to be headed down the right field line but was denied on by a diving catch from Tellez at first base.
The Pirates opened the scoring in the third. Andrew McCutchen extended his hitting streak to eight games with a one-out double to left field. After Reynolds grounded out, McCutchen scored on Cruz’s single to left to give the hosts a 1-0 lead.
Cardinals starter Andre Pallante went six innings and gave up one run on three hits while fanning three and walking two.
–Field Level Media