The Houston Astros have won eight straight games for the second time in less than a month.
The Chicago Cubs have lost five in a row for the first time this season.
Randy Wolf threw a six-hitter for his first shutout in more than four years in the Astros' 4-0 win over the Cubs on Wednesday night.
Houston won eight straight from Aug. 7-14. The second winning streak has the Astros back in the NL wild card picture, 6½ games behind the Milwaukee Brewers.
"It gives us something to play for in September," Wolf said. "I know that we still have a ton of ground and some miracles for this to happen, but it's one of the reasons you don't give up."
Wolf never did.
"It's really gratifying the fact that I've been through a lot the last three or four years -- two surgeries -- and it's been a long way back," said Wolf, who has had procedures on his elbow and shoulder since 2005. "It makes it sweet to do it against such a good team and in Wrigley. It was exciting. I know it's been a long time. So it's nice."
Wolf (9-11) walked two and struck out eight. It was the 31-year-old left-hander's eighth career shutout and first since April 24, 2004, when he beat the Montreal Expos 7-0 while pitching for Philadelphia.
In other NL games, it was the New York Mets 9, Milwaukee 2; Washington 9, Philadelphia 7; Arizona 4, St. Louis 3; the Los Angeles Dodgers 6, San Diego 4; Florida 5, Atlanta 3; San Francisco 9, Colorado 2; and Pittsburgh 6, Cincinnati 5.
Ty Wigginton hit 22nd homer, a two-run shot, in the fifth for the Astros and then made a great throw from left field to cut down a run in the bottom of the inning.
The Cubs, who lost six straight from May 27-June 2 last season, maintained their 4½-game lead over Milwaukee in the NL Central despite being swept at home.
"Basically they outplayed us," Cubs manager Lou Piniella said. "They outpitched us, outhit us. They just beat us. No excuses. ... You're going to have adversity along the way and we're having it right now. We'll see how we respond."
Ryan Dempster (15-6) went seven innings for the Cubs, giving up eight hits and three runs.
"We're all right," he said. "It's frustrating for everybody. You are going to go through bumps in the road and sometimes when they are late in the season ... they are magnified a little bit."
Mets 9, Brewers 2
Oliver Perez (10-7) allowed two runs, five hits and five walks in 6 2-3 innings for the Mets, who won their fourth straight and sixth of seven.
The Mets hold a three-game lead over second-place Philadelphia in the NL East and the teams open a three-game series in New York on Friday.
Nationals 9, Phillies 7
At Washington, Cristian Guzman set a franchise season record with his eighth consecutive multihit game, capping it with a three-run double in the decisive eighth inning. Guzman went 3-for-5 and had three RBIs for the Nationals, who have won seven of eight.
Ryan Howard homered twice for the Phillies, who led 5-4 in the seventh but reliever Chad Durbin (5-4) gave up a home run to Ryan Zimmerman that inning and pinch-hitter Ronnie Belliard's RBI single in the eighth that made it 6-5.
Diamondbacks 4, Cardinals 3
At Phoenix, Adam Dunn doubled home the winning run in the bottom of the ninth for Arizona, which won for only the third time in 10 games but remained 1½ games ahead of Los Angeles in the NL West. The teams open a three-game series in Los Angeles on Friday.
Stephen Drew tripled to lead off the ninth against Chris Perez (2-2). One out later, Conor Jackson singled through the drawn-in infield to tie it and Dunn followed with a shot to the right field corner that scored Jackson.
Chad Qualls (4-8) pitched the ninth to earn the victory.
Dodgers 6, Padres 4
The win was the Dodgers' fifth straight following a season-long eight-game losing streak. Casey Blake homered for the Dodgers, who have scored 33 runs in the last five games after scoring only 15 in the previous eight.
Marlins 5, Braves 3
At Miami, Hanley Ramirez homered and doubled to lead Florida in front of an incredibly sparse crowd at Dolphin Stadium. The official attendance, based on tickets sold, was 11,211, but there were fewer than 600 fans at the start of the game.
Jeremy Hermida had two hits and an RBI, and three relievers kept the Braves scoreless over the final three innings to preserve the win for Doug Waechter (4-2). Joe Nelson pitched a perfect ninth for his first save.
Kelly Johnson hit a two-run triple for the Braves.
Giants 9, Rockies 2
At Denver, Barry Zito won for the third time in four starts and Nate Schierholtz had a career-high four hits for San Francisco. Zito (9-16), who lost his first nine decisions this year, allowed two runs and four hits in eight innings.
Scott McClain had three hits, including his first major league home run, for the Giants, who had lost five straight and seven of eight.
Aaron Cook (16-9) allowed six runs and 10 hits in three innings, his shortest outing since Aug. 7, 2004.
Pirates 6, Reds 5
At Cincinnati, Adam LaRoche snapped an 0-for-16 slump with two RBI singles for Pittsburgh.
The Reds took a 3-2 lead in the fifth on Chris Dickerson's sixth homer.