PHOENIX -- The Arizona Diamondbacks have been a different team since the biggest blown lead in their history.
The Diamondbacks have won back-to-back games and outscored Florida 13-1 since the Marlins hit them with a 10-spot in the eighth inning of the series opener, when Arizona let a 7-0 lead turn into a 14-7 loss.
"I expected us to dust ourselves off and play well," Diamondbacks manager A.J. Hinch said. "We had been playing too well and working too hard to allow that inning to dictate the rest of the weekend. I did expect us to stand up and make a fight against these guys on our home turf, in front of our home fans, to end the first half."
Upton led the way on Saturday with three singles, a triple and an RBI, and Miguel Montero added a two-run double for the Diamondbacks, who won for the seventh time in eight games.
With one day to go until the All-Star break, the second-place Marlins fell four games behind Philadelphia in the NL East. Florida opens the second half of the season with a four-game series against the Phillies in Miami.
"We're getting close to the break and wanted to at least finish one or two games behind the Phillies because we've got them at home the first series," said Jorge Cantu, who had three hits and drove in the Marlins' only run. "We're trying to get as much ground as possible (on) those guys."
Although he has pitched well lately, Garland (5-8) had gone nine starts without a victory and won for the first time since May 19 -- also against Florida.
"He's deserved more wins, and he earned this one today," Hinch said.
Garland gave up seven hits, walked one and struck out five in his longest start.
Garland said he wasn't comfortable after his pregame bullpen session, and he gave up six hits in the first three innings. But he allowed only one run to score.
After the third inning, Garland allowed only two hits. But he didn't try to persuade Hinch to let him go for his 10th career complete game.
"I knew there was probably no chance," Garland said.
The Diamondbacks entered 8-16 against left-handed starters but jumped out to a 3-0 lead in the first against Sean West (3-4).
With the bases loaded and one out, Montero knocked in two runs with a ground-rule double down the right-field line. Montero, who has seen more playing time since starter Chris Snyder went on the disabled list with a back injury, extended his hitting streak to eight games.
Gerardo Parra followed with an RBI groundout to shortstop.
Arizona added another run in the second on Upton's two-out single.
After Florida cut the lead to 4-1 on Jorge Cantu's two-out single in the third, the Diamondbacks got the run back in the fifth, when Upton tripled and scored on Parra's fielder's choice grounder.
West, who opened the season at Double-A Jacksonville, lasted 4 2/3 innings in his 10th big league start. He allowed five runs and nine hits, walked four and struck out one.
After the game, the Marlins said they would send West to the minors, but the team didn't announce a corresponding move.
Manager Fredi Gonzalez said he wants West to improve his curveball and changeup, and he expressed optimism that West would return to the majors.
"He just needs to work on stuff," Gonzalez said. "Here's a young kid that, it's a diamond in the rough. He's not polished. We're asking him to compete at the major league level with one weapon -- it's a fastball."
Arizona OF Conor Jackson, out since May 12 with pneumonia, has worked out four straight days, and Hinch is optimistic Jackson will return this season. ... Marlins RHP Josh Johnson will start the series finale. Arizona handed Johnson (7-2) one of his two losses on May 19 in Miami. ... West singled in the third for his first career hit. ... Arizona improved to 9-7 against NL East clubs. The Diamondbacks have losing records against the other two divisions and the American League.