St. Louis Cardinals' Brendan Donovan runs on his RBI single during the fourth inning of a baseball game against the Pittsburgh Pirates, Thursday, Sept. 19, 2024, in St. Louis. (AP Photo/Scott Kane)
St. Louis Cardinals' Paul Goldschmidt, center, is congratulated by teammates after scoring during the fourth inning of a baseball game against the Pittsburgh Pirates, Thursday, Sept. 19, 2024, in St. Louis. (AP Photo/Scott Kane)
St. Louis Cardinals' Brendan Donovan, foreground, looks toward the dugout after hitting an RBI double during the sixth inning of a baseball game against the Pittsburgh Pirates, Thursday, Sept. 19, 2024, in St. Louis. (AP Photo/Scott Kane)
St. Louis Cardinals' Brendan Donovan hits an RBI double during the sixth inning of a baseball game against the Pittsburgh Pirates, Thursday, Sept. 19, 2024, in St. Louis. (AP Photo/Scott Kane)
Pittsburgh Pirates' Oneil Cruz sits on first base as he waits for a St. Louis Cardinals pitching change to be completed during the eighth inning of a baseball game Thursday, Sept. 19, 2024, in St. Louis. (AP Photo/Scott Kane)
Pittsburgh Pirates' Connor Joe hits a single during the eighth inning of a baseball game against the St. Louis Cardinals, Thursday, Sept. 19, 2024, in St. Louis. (AP Photo/Scott Kane)
Pittsburgh Pirates' Nick Gonzales hits an RBI single during the eighth inning of a baseball game against the St. Louis Cardinals, Thursday, Sept. 19, 2024, in St. Louis. (AP Photo/Scott Kane)
Pittsburgh Pirates' Yasmani Grandal, left, is congratulated by third base coach Mike Rabelo, right, as he runs the bases after hitting a solo home run during the seventh inning against the St. Louis Cardinals, Thursday, Sept. 19, 2024, in St. Louis. (AP Photo/Scott Kane)
-
St. Louis Cardinals' Brendan Donovan runs on his RBI single during the fourth inning of a baseball game against the Pittsburgh Pirates, Thursday, Sept. 19, 2024, in St. Louis. (AP Photo/Scott Kane)
-
St. Louis Cardinals' Paul Goldschmidt, center, is congratulated by teammates after scoring during the fourth inning of a baseball game against the Pittsburgh Pirates, Thursday, Sept. 19, 2024, in St. Louis. (AP Photo/Scott Kane)
-
St. Louis Cardinals' Brendan Donovan, foreground, looks toward the dugout after hitting an RBI double during the sixth inning of a baseball game against the Pittsburgh Pirates, Thursday, Sept. 19, 2024, in St. Louis. (AP Photo/Scott Kane)
-
St. Louis Cardinals' Brendan Donovan hits an RBI double during the sixth inning of a baseball game against the Pittsburgh Pirates, Thursday, Sept. 19, 2024, in St. Louis. (AP Photo/Scott Kane)
-
Pittsburgh Pirates' Oneil Cruz sits on first base as he waits for a St. Louis Cardinals pitching change to be completed during the eighth inning of a baseball game Thursday, Sept. 19, 2024, in St. Louis. (AP Photo/Scott Kane)
-
Pittsburgh Pirates' Connor Joe hits a single during the eighth inning of a baseball game against the St. Louis Cardinals, Thursday, Sept. 19, 2024, in St. Louis. (AP Photo/Scott Kane)
-
Pittsburgh Pirates' Nick Gonzales hits an RBI single during the eighth inning of a baseball game against the St. Louis Cardinals, Thursday, Sept. 19, 2024, in St. Louis. (AP Photo/Scott Kane)
-
Pittsburgh Pirates' Yasmani Grandal, left, is congratulated by third base coach Mike Rabelo, right, as he runs the bases after hitting a solo home run during the seventh inning against the St. Louis Cardinals, Thursday, Sept. 19, 2024, in St. Louis. (AP Photo/Scott Kane)
ST. LOUIS — Yasmani Grandal homered, Nick Gonzales drove in the winning run with a single in the eighth inning and the Pittsburgh Pirates beat the St. Louis Cardinals 3-2 Thursday night to snap a three-game losing streak.
Pirates starter Luis Ortiz allowed two runs on five hits and had seven strikeouts in six innings. Carmen Mlodzinski (4-5) and Dennis Santana each tossed a scoreless inning, and Aroldis Chapman pitched the ninth to earn his 10th save in 15 chances.
Cardinals starter Erick Fedde allowed one run on four hits and struck out three.
Gonzales singled up the middle off Ryan Fernandez, who entered the game after JoJo Romero (7-3) walked pinch hitter Connor Joe with two outs in the top of the eighth.
Grandal hit his eighth home run of the season to right field off Andrew Kittredge in the seventh inning to tie the game 2-2.
Brendan Donovan hit an RBI single to left in the fourth inning to tie the game 1-1, then drove in another run with a double to the left-center field gap in the sixth inning to give the Cardinals a 2-1 lead. He now has a hit in all 18 home games he has played against Pittsburgh to start his career.
Gonzales lined a triple to right field that Jordan Walker had trouble corralling and scored on Bryan De La Cruz’s sacrifice fly to give Pittsburgh a 1-0 lead in the fourth inning.
Pittsburgh Pirates' Yasmani Grandal, left, is congratulated by third base coach Mike Rabelo, right, as he runs the bases after hitting a solo home run during the seventh inning Thursday against the St. Louis Cardinals in St. Louis. Associated Press
Transaction
Pittsburgh purchased the contract of RHP Isaac Mattson from Triple-A Indianapolis. Mattson has not appeared in a major league game since pitching for Baltimore on Oct. 1, 2021, in Toronto. RHP Jake Woodford was designated for assignment.
Trainer’s room
Pirates: C Endy Rodríguez (right elbow surgery) batted third as the designated hitter for Indianapolis in a rehab appearance at St. Paul.
Up next
Pirates: RHP Mitch Keller (11-10, 3.87 ERA) is scheduled to face Reds RHP Nick Martinez (9-6, 3.37 ERA) in the opener of a three-game series Friday night in Cincinnati.