Dylan Carlson drove in a pair of runs and the St. Louis bullpen combined for four scoreless innings as the Cardinals came back to beat the Miami Marlins 5-3 on Tuesday night.
Carlson went 2 for 4 and has hit in five straight games. Teammate Tommy Edman scored a pair of runs and stole his 19th base of the season.
Cardinals starter Dakota Hudson (6-4) went five-plus innings, allowing three runs. He was lifted after issuing a leadoff walk to Jorge Soler in the sixth. Junior Fernandez pitched a scoreless sixth and seventh, and Giovanny Gallegos did the same in the eighth. Ryan Helsley struck out the side to earn his sixth save in eighth opportunities.
Fernandez has not given up a run in 6 1/3 innings since being recalled from Triple-A Memphis on June 22.
The Marlins struck first with a three-run third. Miguel Rojas had an RBI double and Nick Fortes and Soler added run-scoring singles. Soler's hit was the 40,000th in Marlins franchise history.
But the Cardinals knocked out Marlins starter Braxton Garrett while batting around in a four-run fifth. Edmundo Sosa got it started with an RBI triple. Edman, Carlson and Paul Goldschmidt followed with RBI hits to give the Cardinals a 5-3 lead.
Garrett (1-3) allowed five runs in 4 2/3 innings. He allowed the first three to reach in the fourth, including an RBI single by Carlson, but got out of the frame without any additional damage by getting Nolan Arenado to ground into a double play and a deep fly-out by Juan Yepez.
Jon Berti went 0 for 4, snapping his 24-game on base streak and 11-game hitting streak.
The Cardinals won for the third time in their last four games, while the Marlins have lost seven of their last eight games at Busch Stadium.
Andre Pallante (2-3, 2.03 ERA) will start for the Cardinals in the finale of a three-game set Wednesday against Miami RHP Sandy Alcantara (7-3, 1.95 ERA). Pallante recorded a career high in innings (6), hits (7), runs (3) and pitches thrown (90) in his last outing Friday. Alcantara has not posted a win in three career starts against St. Louis, but has a 0.81 ERA with two earned runs in 22 1/3 innings and 23 strikeouts.