Roark (7-0) allowed just two hits, struck out six and retired the final 13 batters he faced.
Ryan Zimmerman hit a home run, Ian Desmond an RBI double and Adam LaRoche an RBI single in the eighth inning. Steve Lomardozzi had a second-inning RBI single off Freddy Garcia (1-2).
Washington entered the nightcap, which followed the Nationals' 6-5 win in the makeup of a series opener postponed by a shooting rampage a day earlier at the nearby Navy Yard, within 4 1/2 games of Cincinnati for the NL's second wild-card berth. The Nationals, who have won 10 of 11, have 11 games remaining.
Craig Kimbrel had converted 37 consecutive save chances since early May, and Andrelton Simmons began the day with the second-best fielding percentage among National League shortstops. But they conspired to blow a three-run lead in the ninth inning of the first game.
Kimbrel (3-3), who leads the major leagues with 47 saves, blew a save chance for just the fourth time this season.
CARDINALS 11, ROCKIES 4
DENVER (AP) — Matt Holliday had four hits, including a two-run homer, to help St. Louis take over sole possession of the NL Central lead.
The Cardinals entered the night tied with Pittsburgh, which lost 5-2 at home to San Diego. St. Louis reduced its magic number for clinching a playoff spot to five with 11 games remaining.
Joe Kelly (9-4) allowed three hits over five sharp innings before turning a 10-0 lead over to the bullpen.
Juan Nicasio (8-8) lasted just 2 2-3 innings and allowing eight runs, which tied a career high.
Holliday led an 18-hit night by the Cardinals, who had seven players with at least two hits. Holliday finished 4 for 4 with a walk, double and two-run homer against his former team. He drove in three runs and scored twice.
The Cardinals ran away with the game in the third when they sent 11 batters to the plate and scored six times. Daniel Descalso had a two-run triple in the inning, while Holliday added a double and an RBI single.
Colorado's Michael Cuddyer finished 2 for 3 with a walk and an RBI to raise his average to.331, which is tops in the NL.
PADRES 5, PIRATES 2
PITTSBURGH (AP) — Jedd Gyorko blasted a three-run homer among his three hits for San Diego.
Ronny Cedeno added three hits for San Diego, which beat the Pirates for the second straight game and dropped Pittsburgh one game behind St. Louis in the NL Central. The Cardinals beat the Rockies 11-4.
Luke Gregerson worked the ninth for his fourth save.
Eric Stults (9-13) allowed two runs over five innings to pick up his first win in more than two months. Stults struck out five and walked one.
Andrew McCutchen went 2 for 3 and Marlon Byrd drove in both of Pittsburgh's runs.
Jeff Locke (10-6) allowed four runs and seven hits in five innings, striking out five and walking three.
DODGERS 9, DIAMONDBACKS 3
PHOENIX (AP) — Juan Uribe and Adrian Gonzalez homered and Zack Greinke pitched six strong innings as Los Angeles inched closer to clinching the NL West title.
One day after coming off the disabled list, Matt Kemp went 4 for 4 with two doubles and three RBIs.
The Dodgers, who once languished in last place 9 1/2 games out, snapped a four-game skid and can clinch the division title by beating Arizona on Wednesday night.
Greinke (15-3) allowed two runs and six hits in six innings to improve to 7-0 in his last nine starts.
Patrick Corbin (14-7) gave up six runs and seven hits in two innings plus three batters, his shortest outing of the year. After starting the season 12-1, Corbin is 2-6 in his last 10 starts.
Aaron Hill hit a solo home run for the Diamondbacks.
Hanley Ramirez, who had missed the Dodgers' previous four games with a sore back, reached base four times with a single and three walks and scored three runs.
PHILLIES 6, MARLINS 4
PHILADELPHIA (AP) — Chase Utley hit a three-run homer and drove in four runs and Roy Halladay tossed six effective innings for Philadelphia.
Halladay (4-4) allowed one run and four hits in his fifth start after returning from right shoulder surgery. The two-time Cy Young Award winner didn't top 88 mph and relied on guile to get outs.
The top three hitters in Philadelphia's lineup — Cesar Hernandez, Jimmy Rollins and Utley — were 8 for 12 with four RBIs and six runs.
Jonathan Papelbon allowed an RBI single to Giancarlo Stanton before finishing for his 28th save in 35 chances.
Marlins starter Brian Flynn (0-2) gave up six runs and 11 hits in six innings.
Juan Pierre, pinch-hitting for Flynn in the seventh, hit a double to right for his 2,215th career hit, breaking a tie with Hall of Famer Joe DiMaggio for 175th on the all-time list, according to STATS.
GIANTS 8, METS 5
NEW YORK (AP) — San Francisco's Angel Pagan homered, tripled and drove in three runs on a perfect night at the plate against his former team.
Pagan went 3 for 3 with two walks and scored twice from the leadoff spot for the Giants, who have won four straight and seven of nine. His tiebreaking homer in the seventh inning made a winner of Yusmeiro Petit (4-0) in his second start since nearly pitching a perfect game.
Pagan homered off Sean Henn (0-1) leading off the seventh to give the Giants a 5-4 lead. It was his first home run since an inside-the-park shot that ended a 6-5 victory over Colorado on May 25.
Pagan spent four seasons with the Mets before they traded him to San Francisco in December 2011.
Hunter Pence of the Giants singled home a run in the ninth for his 20th RBI in his last seven games.
BREWERS 4, CUBS 3
MILWAUKEE (AP) — Pinch-hitter Logan Schafer dropped a suicide squeeze bunt with the bases loaded in the ninth to give Milwaukee the wine.
Aramis Ramirez walked to open the inning off Justin Grimm (0-2), who came on to start the ninth.
Jeff Bianchi pinch-ran for Ramirez and advanced on Carlos Gomez's single to centre. Grimm then mishandled Scooter Gennett's sacrifice bunt for an error to load the bases.
After Caleb Gindl popped out, Schafer put down a slow roller toward the mound, scoring Bianchi.
Jim Henderson (5-5) allowed a leadoff double in the top of the ninth, but retired three straight for the win.
Cubs starter Jeff Samardzija struck out eight in seven innings, giving him 203 strikeouts in 201 2-3 innings this season.
Gomez drove in three runs for Milwaukee with a two-run homer and a sacrifice fly.
Brewers starter Marco Estrada had allowed just two singles before the Cubs scored three runs in the seventh inning.