NEW YORK -- The Philadelphia Phillies found an effective leadoff hitter just in time to avoid a costly sweep.
Shane Victorino scored the go-ahead run in the seventh inning after working out a key walk and Brett Myers won for the first time in more than a month, leading Philadelphia to a 5-3 victory over the New York Mets on Thursday.
"Today is big because it's the Mets," Phillies manager Charlie Manuel said. "They're in first place in our division and we're trying to stay with them."
Victorino batted leadoff because slumping shortstop Jimmy Rollins was dropped from the top spot for the first time this season. Filling in for injured Aaron Rowand, the speedy center fielder reached base twice and is hitting .349 in 83 at-bats.
Chase Utley had four hits for the Phillies, who won for only the second time in nine tries and trimmed New York's lead in the NL East to four games. Bobby Abreu and Ryan Howard each homered and drove in two runs.
"It was a pretty exciting series. The first two games were nail-biters," Utley said. "Today was very important."
Tom Gordon got his first save since May 14 at Cincinnati and Utley went 4-for-5 in his first career four-hit game, disappointing an announced crowd of 51,365 packed with kids on school trips.
"We wanted to sweep them. It didn't happen," said Carlos Beltran, who went 0-for-5 with three strikeouts after hitting a homer in each of the first two games.
Jose Reyes hit a three-run shot, a double and a single for the Mets, who had played five straight one-run games -- going 4-1. They were looking for their first three-game sweep of the Phillies at home since 1997.
New York did have a three-game sweep in Philadelphia in 2004.
Still seeking help for the depleted back end of their rotation, the Mets completed a trade after the game, acquiring left-hander Dave Williams from Cincinnati for minor league pitcher Robert Manuel.
Myers (3-2) threw 119 pitches in seven innings, allowing eight hits and striking out six. Betrayed by poor run support and some shaky defense, the right-hander hadn't won in five starts since April 23 against Florida.
"I know our bullpen was spent and I was going to be out there as long as I could throw. It didn't matter what my pitch count was," Myers said.
Myers improved to 5-1 at Shea Stadium -- the Phillies are 8-2 when he starts there. He has not allowed more than three earned runs in any of his 10 outings this season.
"He's shown that he can be a guy that this team can count on," Gordon said. "He's an ace. He's a guy that's going to be in this game a long time."
Gordon got four outs for his 14th save in 15 chances. He retired slumping Kaz Matsui with two on to end the eighth and then struck out Beltran with Reyes on third to end the game.
"They opened the door for us, but we didn't take advantage of those opportunities," Mets manager Willie Randolph said.
The Phillies are 20-1 in Gordon's 21 appearances.
With the score tied at 3 in the seventh, Victorino fought back from an 0-2 count and drew a leadoff walk from Pedro Feliciano (1-1), the winning pitcher Wednesday night.
"Something like that definitely sparks an inning," Victorino said. "It's definitely what you want to do as a leadoff hitter."
He scored from first when Utley lined a 1-2 pitch into the right-field corner for a double. Utley scored on Howard's one-out single off Heath Bell to make it 5-3.
"Shane led the way," Rollins said.
Utley singled in the first and Abreu followed with his sixth homer. Howard added his 15th with two outs off Jeremi Gonzalez, designated for assignment after the game.
Gonzalez kept the Phillies in check after the first inning, and New York tied it in the second. Cliff Floyd led off with a double and went to third on Xavier Nady's single. With the ball carrying well to right-center on an 80-degree afternoon, Reyes hit his fifth homer with two outs.
Gonzalez (7.71 ERA) allowed three runs and seven hits over six innings in his third start for the Mets. He was cut to make room for Orlando Hernandez, acquired in a trade with Arizona on Wednesday.
- Rollins batted sixth and went 0-for-4. He expects to return to the top spot soon, but said: "If it's long term, who cares? You get a chance to drive in runs."
- Nady returned to the lineup after not starting the previous two games because of a sore lower back. He went 2-for-3 with a walk.
- Victorino robbed Beltran of extra bases with a diving catch in left-center in the fifth.
- With two runners on, Philadelphia C Carlos Ruiz picked off Floyd at second base to end the third.
- Utley extended his hitting streak to 10 games.
- The Mets had won three in a row. Eight of their previous 10 games were decided by one run -- they went 5-3 in those games.