Nick Gonzales went 2-for-4 with a triple, a run and the decisive RBI as the visiting Pittsburgh Pirates edged the St. Louis Cardinals 3-2 Thursday.
Yasmani Grandal hit a home run for the Pirates (72-81), who avoided a four-game sweep.
Pirates starter Luis Ortiz allowed two runs on five hits in six innings. He struck out seven and walked two.
Reliever Carmen Mlodzinski (4-5) recorded the victory and Aroldis Chapman earned his 10th save.
Brendan Donovan went 4-for-4 with two RBIs for the Cardinals (77-76).
St. Louis starter Erick Fedde allowed one run on four hits in six innings. He struck out three and walked one. Reliever JoJo Romero (7-3) took the loss.
Grandal tied the game 2-2 in the seventh inning with his homer to right off Andrew Kittredge.
Pittsburgh moved ahead 3-2 in the eighth against Romero and Ryan Fernandez. Oneil Cruz drew a two-out walk, then Connor Joe and Gonzales hit singles to produce the go-ahead run.
Isiah Kiner-Falefa led off the game with a double, but Fedde coaxed groundouts from Bryan Reynolds and Cruz, then a popout from Rowdy Tellez.
Ortiz worked out of trouble in the second inning. After Donovan hit a single and Lars Nootbaar walked, Ortiz struck out Jordan Walker and retired Pedro Pages on a chopper.
Fedde escaped another jam in the third inning. After Jared Triolo’s one-out single, Kiner-Falefa hit into a forceout and stole second base. Reynolds walked, but Fedde struck out Cruz to strand the runners.
Pittsburgh took a 1-0 lead in the fourth inning. Gonzales hit a triple and scored on Bryan De La Cruz’s sacrifice fly.
The Cardinals tied the game 1-1 in the bottom of the inning on a single by Paul Goldschmidt, a walk to Nolan Arenado and Donovan’s RBI single.
St. Louis moved ahead 2-1 in the sixth. Goldschmidt hit a single, stole second base and scored on Donovan’s double.