MILWAUKEE (AP) - Zack Greinke pitched effectively into the eighth to remain perfect at home, Corey Hart homered for the second time in as many days and the Milwaukee Brewers swept the Chicago Cubs with a 3-2 win on Sunday.
Greinke (13-5) improved to 10-0 at Miller Park and didn't allow a hit until Marlon Byrd's fifth-inning bloop. In the bottom of the inning, Greinke singled, stole a base for the first time in his career and scored on Hart's blast.
Greinke struck out seven, scattering four hits and two walks.
This one got tight late after John Axford allowed a solo homer to Tyler Colvin in the ninth and third baseman Casey McGehee bobbled two balls before tagging out Byrd to end it. Axford got his 40th save.
The Brewers completed their second straight three-game sweep over the Cubs to improve to 21-5 this month, tying the franchise mark for most wins in a month set in June 1978.
Cubs starter Casey Coleman (2-7) took the loss.
Diamondbacks 6, Padres 1
PHOENIX (AP) - Ian Kennedy pitched seven effective innings to become the National League's first 17-game winner, Collin Cowgill hit his first career homer during a four-hit game and the Arizona Diamondbacks beat the San Diego Padres for their sixth straight victory.
Cowgill hit a solo shot off Cory Luebke (5-7) in the second inning and added a run-scoring double off Erik Hamren in the eighth. Aaron Hill also homered off Luebke, his first since being traded to Arizona, and had three RBIs.
The NL West-leading Diamondbacks didn't need much more with Kennedy (17-4) pitching.
The right-hander settled in after giving up a homer to Orlando Hudson in the second inning, allowing one run or less for the 13th time this season to complete the three-game sweep.
Astros 4, Giants 3, 11 innings
SAN FRANCISCO (AP) - Matt Downs delivered a go-ahead single with one out in the 11th inning and the Houston Astros beat the stumbling San Francisco Giants to salvage a four-game split.
Jose Altuve got things going with a one-out double against Ramon Ramirez (2-3) and Downs followed with a single up the middle. Altuve was forced into action after slugger Carlos Lee left in the top of the ninth with a sprained right ankle sustained sliding into second on a double.
Mark Melancon (7-4) pitched the 10th and got the win despite allowing Mark DeRosa's tying single. David Carpenter finished for his first career save.
The reigning World Series champions fell four games behind first-place Arizona in the NL West.
Reds 5, Nationals 4
CINCINNATI (AP) - Joey Votto led off the 14th inning with his second home run of the game, lifting the Cincinnati Reds over the Washington Nationals.
Reds pinch-hitter Yonder Alonso opened the ninth with a home run off Drew Storen, making it 4-all.
Votto hit a full-count pitch from Collin Balester (1-3) into the left-field bleachers to push the Reds over .500 for the first time since July 3.
His second career game-ending homer sent the Nationals to a sixth straight loss, tying their season high. Votto hit a solo shot in the first and hit his 26th of the season to win it.
Johnny Cueto and five Reds relievers combined for 19 strikeouts, tying the team record. Cueto fanned 11 in seven innings.
Bill Bray (4-2) allowed one hit in the 14th to get the win.
Washington manager Davey Johnson and bench coach Pat Corrales and Reds manager Dusty Baker all were ejected.
Cardinals 7, Pirates 4
ST. LOUIS (AP) - Kyle Lohse went a workmanlike five innings for his 100th career win and the St. Louis Cardinals beat the Pittsburgh Pirates.
Lohse (12-8) gave up four runs, two of them earned. He allowed six hits, struck out four and walked two.
Lohse also put the Cardinals ahead to stay, getting an infield single in the fourth and scoring on Allen Craig's sacrifice fly for a 5-4 lead.
Pittsburgh has lost four of its last six. The Pirates fell a season-high 18 games behind NL Central-leading Milwaukee.
Lohse became the 36th active pitcher to reach the 100-win mark. He has 106 losses in his nine-year career.
Jason Motte picked up his first save of the season with a perfect ninth.
Jeff Karstens (9-8) gave up five earned runs in 3 2-3 innings.
Rockies 7, Dodgers 6
LOS ANGELES (AP) - Kevin Kouzmanoff drove in his first four runs since joining Colorado this week, and the Rockies needed five relievers to hold off the Los Angeles Dodgers.
Kouzmanoff blooped a three-run double in the first inning as Colorado took a 5-0 lead. He later singled home a run, and the six-year veteran tied a career high with four RBIs.
The Rockies got Kouzmanoff from Oakland on Tuesday for either a player to be named or cash. He had been at Triple-A Sacramento since being demoted on June 6.
The Dodgers had won five in a row.
Jhoulys Chacin (11-10) gave up four runs, six hits and five walks in five-plus innings. Rafael Betancourt bounced back from Saturday's blown save, getting three outs to record his fourth in eight chances.
Nathan Eovaldi (1-2) gave up five runs and six hits over four innings in his fifth big league start.