Paul Goldschmidt hit a tiebreaking homer in the seventh inning and Dylan Carlson added a three-run blast to help the St. Louis Cardinals rally past the Pittsburgh Pirates 7-5 on Monday night.
Brendan Donovan added a two-run double for St. Louis, which rallied from a 5-0 deficit.
Michael Chavis and Diego Castillo homered for the Pirates, who have lost a season-high seven straight games.
St. Louis has won six of seven against its NL Central rival this season.
Goldschmidt broke a 5-all tie with his 13th homer off reliever Chris Stratton (3-3).
Carlson punctuated a five-run outburst in the sixth with a three-run homer that tied the game. He has reached safely in 19 successive games against Pirates.
Giovanny Gallegos (2-2) picked up the win with a scoreless inning of relief. Ryan Helsley recorded his fifth save in seven chances.
Chavis unloaded off St. Louis rookie left-hander Zack Thompson, who was making his first major league start and allowed five runs on seven hits over five innings. Chavis' home run capped off a four-run fifth that put the Pirates up 5-0. He has three home runs and eight RBI in his last five games against St. Louis.
Ke'Bryan Hayes added a run-scoring single for Pittsburgh. Pirates starter Mitch Keller gave up two runs on seven hits over 5 1/3 innings.
Pittsburgh has 17 home runs in its last 13 games.
Jack Flaherty will likely make his third and final rehab start on Wednesday at Triple-A Memphis. Flaherty has been sidelined since the start of the season with a right shoulder ailment.
Matthew Liberatore (1-1) will face RHP JT Brubaker (0-6, 4.60) in the first game of a day-night doubleheader on Tuesday afternoon. Liberatore allowed four runs on seven hits over 4 2/3 innings in his major league debut at Pittsburgh on May 21. Brubaker will be looking for his first win since beating Arizona on Aug. 24, 2021.
RHP Miles Mikolas (4-4, 2.93) takes on Pittsburgh RHP Bryse Wilson (0-3, 7.53) in the night contest. Mikolas allowed two runs on three hits in a 2-1 loss at Tampa on Thursday. Wilson, who is the 27th man for the twin bill, went 0-0 with 3.32 ERA in three starts with Triple-A Indianapolis after being sent down on May 23.