John Lannan pitched 5 2/3 shutout innings in his first start since replacing Stephen Strasburg in Washington's starting rotation, and the Nationals lowered their magic number for clinching a playoff berth to six with a 2-0 win over the punchless New York Mets on Wednesday night.

Ryan Zimmerman homered in the fourth off rookie Matt Harvey (3-5) and Ian Desmond connected off Jon Rauch in the eighth, helping the NL East leaders complete a three-game sweep and close in on the capital's first post-season baseball berth since the original Washington Senators in 1933.

A native of nearby Long Beach, Lannan (3-0) allowed five hits, struck out two and walked one in the slot that opened when the Nationals cut short Strasburg's season by imposing an innings limit to protect his surgically repaired right elbow. Lannan, Washington's opening-day starter in 2009 and 2010, spent most of the season in the minors and asked the Nationals to trade him when he was demoted at the end of spring training.

He once again mastered the Mets, improving to 4-1 with a 1.69 ERA against them in his last five starts. Five relievers finished, with Drew Storen retiring pinch-hitter Daniel Murphy on a game-ending flyout with runners at the corners for his second save. The surging Nationals have won nine of 11 and 12 of 15.

New York finished an 0-6 homestand and dropped to 65-78, falling 13 games under .500 for the first time since finishing 2009 at 70-92. The Mets have lost eight of nine overall.

Zimmerman put the Nationals ahead in the fourth with a drive into the left-field seats, extending his hitting streak to 16 games. He also made several sparkling plays with his glove at third.

Lannan left in the bottom half after David Wright singled and stole second, and Lucas Duda walked with two outs. Christian Garcia hit Kelly Shoppach on the left arm with his first pitch, loading the bases, but retired pinch-hitter Ike Davis on an inning-ending flyout.

Washington cut short Strasburg's season last weekend, wanting to protect the 24-year-old right-hander's arm following ligament-replacement surgery on Sept. 3, 2010.

While the Nationals initially intended to make Wednesday's game his final start of the year, they moved up their timetable because they said the limit was weighing on his mind. Strasburg finished 15-6 with a 3.16 ERA in 28 starts with 197 strikeouts in 159 1/3 innings.

Phillies 3, Marlins 1

Jimmy Rollins hit a two-run homer and Cliff Lee pitched seven strong innings to lead the streaking Philadelphia Phillies to their seventh straight win, 3-1 over the Miami Marlins on Wednesday.

The Phillies continued their late push for an NL wild-card spot with a three-game sweep of the Marlins. Up next for the Phillies, four games in Houston against the NL-worst Astros.

Philadelphia pulled within three games of St. Louis for the second wild card. The Phillies (72-71) are on a season-best win streak and have won 15 of 19 to move over .500 for the first time since June 3 (28-27).

Rollins hit a two-run homer off Josh Johnson (8-12) in the seventh for a 3-1 lead.

Phillippe Aumont worked a scoreless eighth and Jonathan Papelbon completed the four-hitter with his 34th save.

Lee (5-7) tossed four-hit ball and struck out six in seven innings to earn only his second home victory of the season.

Reds 2, Pirates 1

CINCINNATI  — Homer Bailey pitched seven solid innings and Cincinnati came up with just enough offence to squeeze out a win over Pittsburgh for a three-game sweep.

The Reds (87-57) scored both of their runs on outs while widening their lead in the NL Central over second-place St. Louis to 11 1/2 games.

Bailey (11-9) allowed six hits and one run with two walks and four strikeouts to extend his career high in victories. J.J. Hoover worked the ninth for his first career save.

Pittsburgh starter A.J. Burnett (15-7) allowed five hits and two runs with two walks and eight strikeouts.

Padres 3, Cardinals 2

SAN DIEGO — Clayton Richard pitched seven strong innings and rookie Yasmani Grandal singled home the go-ahead run to lift as San Diego handed St. Louis its 11th loss in 15 games.

The Cardinals came in with a one-game lead over Los Angeles for the second NL wild card.

Logan Forsythe hit a solo home run for the Padres, who completed a three-game sweep of St. Louis for the first time since August 1995.

Richard (13-12) outpitched Kyle Lohse and gave up only three hits, including a two-run homer by Matt Carpenter that tied the game at 2 in the sixth. The left-hander struck out five.

Lohse (14-3) allowed three runs on five hits over six innings. He struck out eight.

Brewers 8, Braves 2

MILWAUKEE  — Rickie Weeks blasted a three-run home run and Travis Ishikawa hit a bases-clearing double in an eight-run fifth inning for Milwaukee in a win over Atlanta.

The Brewers moved within three games of St. Louis for the second NL wild card. Despite the loss, the Braves continue to have a strong hold on the top wild card position.

Yovani Gallardo Gallardo (15-8) pitched seven strong innings and added a run-scoring double for Milwaukee. He gave up two runs on only four hits while walking three and striking out six.

Atlanta starter Paul Maholm (12-10) gave up nine hits, eight runs — six earned — in 4 1-3 innings. He walked two batters and struck out a pair.

Giants 8, Rockies 3

DENVER — Tim Lincecum pitched effectively for six innings, Brandon Crawford doubled twice and drove in two runs, and San Francisco beat Colorado.

Marco Scutaro added three hits, including a pair of run-scoring singles, to help the NL West-leading Giants take two of three from the Rockies and improve to 21-7 on the road since the All-Star break, best in the NL. They are unbeaten in their last nine series on the road (8-0-1).

Lincecum (9-14) allowed three runs on six hits. He finished with eight strikeouts and four walks in his career-best fifth straight road win.

Diamondbacks 3, Dodgers 2

PHOENIX  — Justin Upton and Gerardo Parra hit consecutive RBI singles to support Trevor Cahill's seven strong innings as Arizona sent Los Angeles to its sixth loss in seven games.

The Dodgers squandered a chance to pull even with St. Louis for the second NL wild card.

Pitching with a 2-1 lead, Dodgers starter Aaron Harang issued consecutive two-out walks in the sixth. Upton followed with a single to tie the game 2-all and end Harang's night. Left-hander Randy Choate came on and allowed Parra's go-ahead single to right.

Cahill (11-11) scattered four hits, struck out seven and did not walk a batter.

Harang (9-9) allowed four hits in 5 2-3 innings but walked four. He struck out two.

Cubs 5, Astros 1

HOUSTON — Alfonso Soriano finished a triple shy of the cycle and drove in two runs, and Travis Wood allowed one run in 7 2-3 innings to lead Chicago over Houston.

Wood (6-11) gave up four hits and struck out six for his second straight win. Wood has allowed only one run in his last two starts, spanning 13 2-3 innings.

Fernando Abad (0-4) gave up a run on four hits in 3 1-3 innings with two strikeouts and three walks. In his four starts this season, Abad has not lasted longer than 4 1-3 innings.

Houston reliever Mickey Storey left the game with a contusion to his right hand and the right side of his jaw after being hit in the side of face by a line drive in the eighth.