NEW YORK -- David Wright had been struggling, locked in an 8-for-43 slide that had chopped 20 points off his batting average. Then he went hitless in his first three at-bats Sunday.
But in a big eighth-inning spot against the Florida Marlins, Wright showed why he will be the National League's starting third baseman in Tuesday night's All-Star Game.
With New York scuffling and in danger of losing three of four games to Florida, Wright hit a three-run homer that was the difference in the Mets' 7-6 victory.
"The last couple of weeks, I haven't felt that great up at the plate," Wright said. "I was just trying to clear my head, just relax up there."
Wright guessed that reliever Logan Kensing would try a slider because that's what the Marlins had been throwing him all weekend. "He left one up and I got a pretty good swing on it," Wright said.
Wright has 20 homers and 74 RBI at the All-Star break and the Mets (53-38) lead the NL East by 12 games.
"What about that David Wright?" manager Willie Randolph said. "Seventy-four RBI, most by any Met at the break and another big home run for him.
"It's a nice way to end the first half."
Joe Borchard went 2-for-3 and scored two runs for the Marlins, who scored three runs in the seventh to take a 5-3 lead. Florida is 27-17 since May 22 after starting the season 11-31.
Jose Valentin started New York's four-run eighth with a walk. To Marlins manager Joe Girardi, that was the turning point of the inning.
"The big at-bat was Valentin," Girardi said. "Logan had him 1-and-2 and couldn't put him away."
Valentin went to third when center fielder Reggie Abercrombie lost Paul Lo Duca's fly ball in the sun for a single. Carlos Beltran followed with a run-scoring single off Kensing (1-2) to cut the Marlins' lead to 5-4.
After Carlos Delgado flied out, Wright turned the game with his home run.
"It felt great for myself and the team," Wright said.
New York's Tom Glavine, trying to become the major league's first 12-game winner, had a 3-0 lead after five innings but the Marlins came back.
Borchard doubled and scored on Mike Jacobs' two-out, two-run single in the sixth. Borchard doubled in Abercrombie in the seventh, advanced to third on Xavier Nady's error in right field and scored on Hanley Ramirez's RBI single.
Dan Uggla then hit a sacrifice fly to give Florida a 5-3 lead.
"I thought I pitched pretty well," Glavine said. "I was disappointed with the way it came out for me. With a couple of things going my way, I could have thrown a shutout."
Glavine allowed nine hits and three earned runs in 6 1/3 innings. He struck out four and walked two.
Lo Duca also doubled in a run for New York on a ball that glanced off third baseman Miguel Cabrera's glove. After the inning, Marlins starter Scott Olsen confronted Cabrera in the dugout.
"They're OK," Girardi said. "They kissed and made up."
"Whatever happened, happened," Olsen said. "We're fine. They'll be no carryover."
The Marlins had two runners thrown out on the bases in the first two innings.
Ramirez walked leading off the game and was thrown out trying to steal by Lo Duca. In the second, Josh Willingham opened with a double and then was cut down by Nady as he tried to score on a two-out single by Abercrombie.
Ramirez went 3-for-4 and scored two runs for Florida.
- Nady's assist was his third and the Mets 24th outfield assist.
- Nady made a diving catch in the seventh to rob Olivo of an extra-base hit.