Derek Dietrich homered and had four hits to lead the Marlins past the St. Louis Cardinals 11-3 on Wednesday night.
Lewis Brinson launched two solo homers for Miami, the second multihomer game of his career.
Dietrich drove in three runs during his fourth multihit game on the Marlins' nine-game road trip. Miami won its second straight, after snapping a six-game losing streak Tuesday.
The top three batters in Miami's order - Starlin Castro, Dietrich and J.T. Realmuto - combined for 11 hits, seven runs and four RBIs as the Marlins set a season high for runs.
St. Louis shortstop Yairo Munoz committed three errors, leading to three Marlins runs. Munoz has made six errors in his last five games.
Miami starter Wei-Yin Chen needed 91 pitches to get through 4 1/3 innings, failing to last at least five for the sixth time. Drew Ruchinski (1-0) gave up one run in 2 1/3 innings of relief for his first major league win.
Dietrich's two-run homer sparked a three-run third for the Marlins. Dietrich, who scored twice, has at least one hit in 13 of his last 15 games.
Cardinals starter Jack Flaherty (2-2) lasted five innings for the second consecutive start. Four of the six runs Flaherty allowed were earned.
St. Louis infielder Jedd Gyorko finished the game on the mound, the first time the six-year veteran had pitched in the majors. Gyorko gave up a run, two hits and hit a batter with a pitch. The run came in the form of Brinson's homer.
Jose Martinez drove in two runs as part of a 3-for-3 night for St. Louis. He also walked.
Miles Mikolas (6-1, 2.49 ERA) starts Thursday afternoon for the Cardinals in the finale of the three-game series against Elieser Hernandez (0-3, 4.29).