MIAMI -- Matt Diaz helped the Atlanta Braves win the warmup to a showdown series this weekend.
Diaz homered twice and Atlanta salvaged a win at the end of a disappointing trip Wednesday, beating Dontrelle Willis and the Florida Marlins 7-4.
The Braves, who hurt their playoff chances by going 4-6 on a 10-day trip, return home to face the NL East-leading New York Mets beginning Friday. The Braves trail the Mets by five games.
"We went into this trip hoping it would turn our season into what it's capable of being, and that's a playoff team," Diaz said. "It didn't turn out that way. We're sub-.500 for the road trip, and that puts some pressure on us going back home."
The last-place Marlins lost for the 13th time in their past 15 games.
"It's definitely tough," said Willis (8-14), who has won only once in his past 17 starts. "We've been struggling."
Diaz's two-run homer in the third inning bounced off the top of the scoreboard and back onto the field. Third-base umpire Doug Eddings signaled homer, and Marlins manager Fredi Gonzalez disputed the call.
The umpiring crew conferred before upholding the call, which put Atlanta ahead to stay.
"They said it went out," Gonzalez said. "We did ask that they get together and see if somebody saw a better angle. They did. What else can you do?"
Diaz added a solo homer in the fourth, giving him 12 this season. Atlanta rookie Yunel Escobar homered leading off the first inning for the first time, and he scored three times.
Willis (8-14) allowed six runs in 5 1/3 innings, hiking his ERA to 5.07.
"We scored a bunch of runs early off a pretty good pitcher," Atlanta's Chipper Jones said.
Willis was better at the plate, hitting his second homer in the second. Teammate Dan Uggla hit his 27th homer, matching his rookie total last year.
Buddy Carlyle (8-5), who had lost his past three starts, gave up both homers but departed after five innings with a 7-3 lead.
"It feels good, definitely, to help contribute to a win rather than put the team in a hole like I've been doing," Carlyle said.
The right-hander left the game with a small blister on his middle finger but said it wasn't serious, and he expects to make his next scheduled start.
Rafael Soriano pitched 1 1/3 perfect innings for his sixth save in nine chances to complete a six-hitter. Atlanta had 13 hits.
Diaz pulled a pitch over the 330-foot sign down the left field line in the fourth. He also doubled in the Braves' two-run sixth and finished 3-for-5, hiking his average to .354.
The multihomer game was Diaz's first, and he improved his career average against the Marlins to .433 with four homers. In Miami he's hitting .444.
"For some reason, it's just one of those things, I see the ball well here," he said.
Willis' shutout lasted until his third pitch, when Escobar hit his third homer.
Atlanta scratched out a run in the second. Chris Woodward walked with two out, took second on a wild pitch and came home when Corky Miller singled for his second RBI this year.
Hanley Ramirez led off the Florida first with a triple and scored on Miguel Cabrera's sacrifice fly. Jeremy Hermida doubled in the sixth and later scored on a groundout to cut Atlanta's lead to 7-4.
Willis has both home runs by Marlins pitchers this year, and they've both come this month. ... Willis has given up a career-high 25 homers. ... Diaz improved his average against Willis to .417 (10-for-24). ... Cabrera went 0-for-2 and is in a 6-for-47 slump.