MIAMI -- Anxious to end a five-week swoon, the San Francisco Giants are hitting again, which is why they're back in first place in the NL West.
All-Star Madison Bumgarner (11-7), relishing the support, allowed one run in six innings.
"Good to see everybody playing like that," Bumgarner said. "I guess everybody had a good All-Star break."
With the victory, San Francisco overtook the Los Angeles Dodgers atop the division and leads by one percentage point.
The Giants began the night averaging less than three runs per game in July, worst in the majors, but they've totaled 17 runs in their past two games. Those wins came after an 11-22 stretch that cost them first place in the NL West.
"This is who we were the first 60-plus games," manager Bruce Bochy said. "Then we turned into a different team."
The Marlins lost their fifth game in a row and have dropped 21 of their past 31 to fall seven games under .500 for the first time.
"It wasn't what we had drawn up coming back from the break," third baseman Casey McGehee said. "We need to pick it up really quick."
San Francisco led 9-0 before Miami's Giancarlo Stanton hit his 22nd home run, most in the NL. His drive passed the home-run sculpture and caromed off the backdrop beyond the center-field wall.
"It was a pretty good pitch, I thought," Bumgarner said. "But everyone knows how far he can hit the ball."
Crawford set the tone for the Giants, hitting the 11th pitch he saw for a two-run homer in the second inning off Nathan Eovaldi (5-5).
"To have a good at-bat early in the game and get us on the board felt really good," he said.
Sandoval hit a three-run homer, his 12th, to end Eovaldi's night in the Giants' five-run fifth. Sandoval improved to 8 for 11 lifetime against Eovaldi with nine RBIs.
Bumgarner lowered his ERA to 3.38, but also struck out three times to drop his batting average to .256.
"I'll trade the not hitting very good for pitching good any day," he said.
Eovaldi gave up a season-high eight runs in his shortest outing of the year, lasting just four-plus innings. He came into the game with a career ERA of 12.27 against the Giants, and it went up -- to 13.30 in five starts.
"They've been able to hit his fastball," Miami manager Mike Redmond said. "They take advantage of any mistake that he seems to make. I don't know if they've got something on him, but they've been able to do quite a bit of damage."
Crawford's eighth homer put the Giants ahead 2-0. They added two more runs in the third on two-out RBI singles by Posey and Morse.
Hunter Pence and Morse each doubled and scored in the fifth.
Giants RHP Matt Cain has been bothered by his elbow at times this season but is expected to make his next start as scheduled Tuesday at Philadelphia, manager Bruce Bochy said. ... Giants INF Marco Scutaro (stiff neck) was held out of the starting lineup but was available to pinch-hit. ... Before the game, the Marlins placed RHP Kevin Gregg on the 15-day disabled list retroactive to Monday with right elbow inflammation. RHP A.J. Ramos (right shoulder) was reinstated from the disabled list. ... RHP Jacob Turner will rejoin the Marlins' rotation and start Tuesday at Atlanta. He's 2-6 with a 6.22 ERA in 17 games. ... RHP Tim Hudson (7-6, 2.87), who has lost his past four decisions, is scheduled to start Saturday for the Giants against RHP Henderson Alvarez (6-4, 2.63).