Urena (1-7) hadn't won a game since last year on Sept. 20, a span of 14 starts. The Marlins lost all 14 of those games, including 12 this year.
Run support has been an issue. But Urena, who allowed 10 hits, one walk and four runs in five innings on Tuesday, was backed up by a season-high seven runs this time.
Anderson was a big part of that as his fifth-inning homer came off reliever Preston Guilmet (0-1), who was making his Cardinals debut and his first major league appearance since 2015.
Miami also spoiled the return of two key Cardinals players from the disabled list, pitcher Carlos Martinez and catcher Yadier Molina.
Martinez was off to a terrific start with a 1.62 ERA after eight starts when he injured his right lat on May 8. On Tuesday, Martinez escaped with a no-decision after allowing four hits, five walks and two runs in four innings.
Three of those walks were on just four pitches, but Martinez retired the last four batters he faced, including three on strikeouts. He also induced three double-play groundouts.
Molina, who went 1-for-4 with one RBI, played for the first time since he needed emergency surgery on May 5. He was hit by a foul ball that struck him in the groin, causing a traumatic hematoma.
Cardinals left fielder Marcell Ozuna, acquired from the Marlins this past December in exchange for four prospects, went 3-for-4 and scored one run against his former teammates.
St. Louis opened the scoring in the second inning. Ozuna singled, advanced on a wild pitch that skipped off the dirt and scored on Molina's RBI single to left.
Miami took a 2-1 lead in the third. The Marlins loaded the bases with no outs on singles by Starlin Castro and Derek Dietrich and a walk to J.T. Realmuto. Castro scored when Justin Bour grounded into a double play.
Anderson, the next batter, was credited with a broken-bat RBI single that glanced off Martinez's glove. The ball wasn't hit as hard as hard as expected by Martinez. He fielded the ball off his body and tossed to first from his knees, but Anderson hustled and beat the throw.
St. Louis tied the score 2-2 in the bottom of the third. Matt Carpenter singled through a shift, raced to third on Jose Martinez's opposite-field single to right and scored when Tommy Pham grounded into a double play.
Miami scored three runs in the fifth on Bour's sacrifice fly and Anderson's third homer of the season. Miami never trailed again.
The Cardinals loaded the bases with no outs and closed their deficit to 5-4 in the bottom of the fifth. Ozuna had the biggest hit of the inning, an RBI single. But Pham had a brutal frame, hitting into a fielder's choice and then getting picked off third.
Miami stretched its lead to 7-4 in the sixth. JT Riddle hit a solo homer to left-center for the first run. J.B. Shuck then walked and scored on Dietrich's sacrifice fly that was caught after a long run down the left field line by the third baseman Carpenter.
The Marlins' relievers finished the game with four scoreless innings. Kyle Barraclough pitched the ninth to earn his second save, and the final 12 Cardinals batters went down in order.
--Field Level Media
Miami | St. Louis | |
Jose Urena | Player | Carlos Martinez |
Win | W/L | No Decision |
5.0 | IP | 4.0 |
3 | Strikeouts | 5 |
10 | Hits | 4 |
7.20 | ERA | 4.50 |
Miami | St. Louis | |
Brian Anderson | Player | Marcell Ozuna |
3 | Hits | 3 |
3 | RBI | 1 |
1 | HR | 0 |
6 | TB | 3 |
.600 | Avg | .750 |