NEW YORK — John Lannan pitched 5 2-3 shutout innings and Washington lowered its magic number for clinching a playoff berth to six with a win over punchless New York.
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.
Lannan (3-0) allowed five hits, struck out two and walked one in the slot that opened when the Nationals cut short Stephen Strasburg's season by imposing an innings limit to protect his surgically repaired right elbow.
CINCINNATI — Homer Bailey pitched seven solid innings and Cincinnati came up with just enough offense 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.
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.
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. Louise for the second NL wild card. Despite the loss, the Braves continue to have a strong hold on the top wild card position.