Greg Maddux got another milestone victory on Friday and the Chicago Cubs beat Cincinnati 6-5 to end the Reds' eight-game winning streak.
Henry Blanco had three RBIs for the Cubs, who snapped a three-game losing streak. Maddux (7-5), who has beaten the Reds three times this season, gave up four hits, including solo homers by Adam Dunn and Scott Hatteberg, in 5 1-3 innings.
Maddux's 325th career win broke a tie with Nolan Ryan and Don Sutton for 13th on the career list. Eddie Plank is next on the list, one victory ahead.
Struggling closer Ryan Dempster loaded the bases in the ninth with no outs, then walked Ryan Freel to force in a run. He retired the next three batters for his 10th save in 13 chances.
Blanco had a two-run double and a sacrifice fly off Elizardo Ramirez (2-5), driving in one run more than the Cubs had managed in their last three games combined.
Cardinals 10, Brewers 6
At Milwaukee, Scott Spiezio drove in three runs in a six-run fourth inning and St. Louis overcame a 6-0 deficit beat Milwaukee and snap a three-game losing streak.
David Eckstein had three hits and drove in two runs and So Taguchi knocked in two runs for the Cardinals, who had 12 hits.
After starter Jorge De La Rosa walked the bases loaded to start the fourth, Joe Winkelsas (0-1) took over.
The Cardinals scored single runs on Eckstein's single, Taguchi's walk with the bases loaded and Scott Rolen's groundout.
After a walk loaded the bases, Spiezio doubled in three runs to match his career high for a game.
Winkelsas allowed three runs, two hits and two walks in one inning.
Josh Hancock (2-2) picked up the victory with two perfect innings of relief. Jason Inringhausen got the final four outs for his 19th save.
Dodgers 3, Rockies 0
At Denver, Brad Penny pitched 8 1-3 innings for Los Angeles in the fifth shutout at Coors Field this season.
Penny (7-1) gave up five hits and didn't allow a runner to get past second base until the seventh inning. He struck out five and walked two. He left the game after giving up a single to Cory Sullivan with one out in the ninth. Takashi Saito got the final two outs for his third save.
Kim Byung-hyun (3-4) gave up three runs and eight hits in 6 2-3 innings. He struck out five and walked three.
Los Angeles took a 2-0 lead in the third on an RBI triple by Russell Martin and a run-scoring single by Penny.
Mets 10, Diamondbacks 6
At Phoenix, Carlos Beltran and Carlos Delgado each homered in New York's win over Arizona.
Beltran also doubled and singled to tie a career high with four hits.
Steve Trachsel (3-4) went 5 1-3 innings, giving up five runs, for his third win in four starts.
Craig Counsell and Chris Snyder homered for Arizona, which lost its fifth straight to drop into a tie with Los Angeles atop the NL West. Arizona starter Miguel Batista (6-3) allowed seven runs and eight hits with three walks in 4 1-3 innings.
Astros 7, Braves 2
At Houston, Mike Lamb homered for the second straight game and rookie Fernando Nieve shut down Atlanta after a shaky first inning.
Preston Wilson had a two-run double and Craig Biggio also homered for Houston, which has won four straight after a five-game losing streak.
Braves starter Jorge Sosa (1-8) lasted only 4 2-3 innings as Atlanta lost for the 10th time in 12 games.
Nieve (2-3) allowed five hits and had a career-high nine strikeouts in 7 1-3 innings.