Darren Hauck, Associated Press
Chicago's Derrek Lee sprints after hitting an RBI double in the ninth inning against the Brewers on Monday night. in Milwaukee.

MILWAUKEE — Derrek Lee doubled with one out in the ninth to score Alfonso Soriano and the Chicago Cubs rallied to beat the Milwaukee Brewers 6-4 on Monday night to take a two-game lead in the NL Central.

In the opener of a four-game series between the NL's top two teams, the Cubs prevailed in a back-and-forth contest to improve to 32-26 at Miller Park since it opened in 2001.

With the game tied at 4, Brewers closer Salomon Torres (5-3) struck out Kosuke Fukudome, but ran into trouble by walking Soriano and pinch hitter Mike Fontenot.

Lee then flared a double to right, scoring Soriano. After an intentional walk to Aramis Ramirez and a strike out of Geovany Soto, Mark DeRosa's infield single scored Fontenot to make it 6-4.

The Brewers had tied the game at 4-4 with a solo homer by pinch hitter Russell Branyan with two outs in the seventh off Bob Howry. They couldn't mount another comeback in the ninth against reliever Carlos Marmol, who picked up his fifth save after working around a two-out walk. Soriano made a jumping catch near the wall on Gabe Kapler's fly ball to deep left to end the game.

MARLINS 7, METS 3: At Miami, with another come-from-behind win, the surprising Florida Marlins are on the verge of erasing the New York Mets' lead in the NL East. Dan Uggla and Cody Ross hit RBI singles to spark a five-run eighth inning, and the Marlins rallied past the Mets and closed within a game of NL East-leading New York. Second-place Philadelphia is a half-game out of first.

PADRES 8, DIAMONDBACKS 5: At San Diego, in Greg Maddux's brilliant career, no win was harder to get than No. 351. Backed by big home runs by Khalil Greene and rookie Nick Hundley, the 42-year-old Maddux snapped a career-high, 14-start winless streak by beating Micah Owings and the Arizona Diamondbacks 8-5 on Monday night. It was the fourth straight win for the last-place Padres. The NL West-leading Diamondbacks had their three-game winning streak snapped.

CARDINALS 12, BRAVES 3: At Atlanta, Albert Pujols drove in three runs, Braden Looper won for the first time in six starts and St. Louis beat injury-riddled Atlanta. Joe Mather went 3-for-4 with a homer and two RBIs for St. Louis, which had lost six of seven. Ryan Ludwick also drove in two runs.

The Braves, struggling to stay in contention in the NL East, lost their third straight game on the same day they placed Chipper Jones, who leads the majors with a .369 average, and Tim Hudson, their No. 1 starter, on the disabled list.

Rookie Charlie Morton (2-4), recalled from Triple-A Richmond because of Hudson's elbow injury, lasted only 3 2-3 innings. The right-hander gave up eight runs and seven hits.

Looper (10-8) allowed two runs and seven hits in seven innings, winning for the first time since an 8-4 victory at Detroit on June 24.

PIRATES 8, ROCKIES 4: At Pittsburgh, Ian Snell won for the second time in 18 starts, Nate McLouth homered and Pittsburgh rallied to snap Colorado's five-game winning streak. Ryan Doumit and Doug Mientkiewicz each had three hits and two RBIs for the Pirates, who had lost three straight.

Pittsburgh also took advantage of nine walks to beat Colorado for the first time in five games this season. The Rockies had won nine of 10 since the All-Star break.

A two-run homer by Matt Holliday in the first and an RBI single from Willy Taveras in the second staked Colorado to a 3-0 lead. But after Taveras' hit, Snell (4-8) retired 14 of the final 17 hitters he faced.

Jason Grilli (1-2) gave up a two-run double to Doumit, an RBI single to Mientkiewicz and a sacrifice fly by Steve Pearce in the fifth.

ASTROS 5, REDS 4: At Houston, Roy Oswalt came off the disabled list and beat Cincinnati again, striking out five in Houston's win. Oswalt (8-8) won his fifth straight start against the Reds and improved to 20-1 in 25 career outings against them, despite giving up a grand slam to Adam Dunn.

The Houston ace threw 74 pitches in five innings in his first start since aggravating a left hip injury on July 11. He went on the DL on July 19 and was activated for Monday's start.

Geoff Blum hit his third homer in two days and Jose Valverde pitched a perfect ninth to earn his 27th save. The Astros' bullpen allowed one hit in four scoreless innings as Houston beat Cincinnati for the seventh straight time.

Johnny Cueto (7-10) gave up five runs and eight hits for the Reds, who've lost four in a row and six of their last eight.

AMERICAN LEAGUE

ANGELS 7, RED SOX 5: At Boston, Casey Kotchman and Torii Hunter homered in a six-run sixth inning and the Los Angeles Angels improved baseball's best record with a 7-5 win over Daisuke Matsuzaka and the Boston Red Sox. Kotchman's two-run homer gave the Angels a 3-2 lead. Hunter's three-run shot drove Matsuzaka (11-2) from the game and equaled the total number of runs he had allowed in his previous five starts. Matsuzaka hadn't given up a homer in any of those games.

Manny Ramirez singled home the Red Sox first two runs and homered off Francisco Rodriguez for the last run in the ninth. It was his 20th homer, making him the eighth player in baseball history to hit that many in 14 consecutive seasons.

The Angels won their sixth straight over the Red Sox, including a three-game sweep in Los Angeles from July 18-20.

Jered Weaver (9-8) allowed three runs in 5 1-3 innings in his first start since last Wednesday when he left after three innings with tightness in his middle back.

TWINS 7, WHITE SOX 0: At Minneapolis, Kevin Slowey pitched a six-hitter, Denard Span hit his first major league home run and Minnesota beat Chicago, striking first in this key AL Central series. Slowey (7-7) struck out five and walked one, and the Twins moved within 1 1/2 games of the first-place White Sox. These teams play six more times this season, three more this week and all at the Metrodome.

Span and Justin Morneau hit two-run shots in the third inning against Mark Buehrle (8-9), and Brendan Harris later had a two-run double. Buehrle was done after five innings, allowing eight hits and five runs.

In the sixth, after a single by A.J. Pierzynski brought him to the heart of the order, Slowey retired Carlos Quentin on a weak dribbler in front of the plate and struck out Jermaine Dye and Jim Thome. Quentin, Dye and Thome have 71 homers between them.

ORIOLES 13, YANKEES 4: At New York, Adam Jones hit a grand slam and an RBI triple to back Jeremy Guthrie's strong start, leading Baltimore to a blowout that ended New York's 10-game home winning streak. Kevin Millar hit a three-run drive in the second and Ramon Hernandez followed another homer off an ineffective Mike Mussina (13-7), who failed to last at least six innings for the first time since May 24.

Guthrie (7-8) shut out New York on two hits through six innings, and the last-place Orioles improved to 6-4 against New York, winning for only the fifth time in 20 games overall.

Aubrey Huff hit his 21st homer and had three RBIs as Baltimore set a season high for runs and matched its top hit total with 17.

Xavier Nady homered for his first hit with the Yankees, who had their eight-game winning streak snapped with a 9-2 loss Sunday night in Boston. Johnny Damon added a three-run shot to make it 11-4 in the seventh.

INDIANS 5, TIGERS 0: At Cleveland, Paul Byrd pitched into the eighth inning and combined with Edward Mujica on a four-hit shutout of the Tigers. Byrd (5-10) gave up four hits over 7 2/3 innings and didn't allow a runner past second base. The right-hander struck out four, walked three and earned his second straight win after going 1-7 over a stretch of 10 starts.

The Tigers began their season-high 10-game trip by getting shut out for an AL-worst 11th time. Detroit came in 6 1/2 games out in the Central.

Kelly Shoppach and Asdrubal Cabrera hit home runs off Kenny Rogers (8-7) in a three-run sixth as Cleveland won for the second time in six games.

BLUE JAYS 3, RAYS 1: At Toronto, A.J. Burnett matched a career-high with his 12th win, Matt Stairs hit a two-run homer and Toronto won for the sixth time in seven games, beating Tampa Bay.

Burnett, who also won 12 games in 2002 and 2005, allowed one unearned run and six hits in seven innings. He walked four and struck out 10. It was the 20th time Burnett has struck out 10 or more in a game, and the fourth time this season.

The Rays scored a single run for the second straight game, both losses.

Burnett (12-9) has won six of eight starts for Toronto, which improved to 3-7 against Tampa Bay this season.

Tampa Bay right-hander James Shields lost for just the second time in his past seven starts. Shields (9-7) allowed three runs and five hits in 7 1-3 innings. He struck out five without a walk.

MARINERS 7, RANGERS 5: At Arlington, Texas, Adrian Beltre homered twice, including the go-ahead shot in the eighth inning, to lead Seattle past short-handed Texas. Rangers All-Star shortstop Michael Young could miss up to a week with a small fracture on his right ring finger, which he apparently suffered diving back to first base on a pickoff attempt in the first inning. Texas was already without third baseman Hank Blalock, who was scratched before the game with an upset stomach.

Beltre, reportedly one of a handful of Mariners players who could be traded at the deadline Thursday, drove a 1-2 pitch over the center-field fence with one out in the eighth off Frank Francisco (2-3).

Sean Green (3-3) earned the win in relief of Felix Hernandez by picking up the final out in the seventh.

ROYALS 4, ATHLETICS 2: At Oakland, Calif., Jose Guillen hit his first home run in more than a month and Alex Gordon also had a two-run homer to help Zack Greinke to his first win in July. Greinke struck out a career-high 11 in 7 1/3 innings and Kansas City earned its first win in four tries this year against the A's after being swept in the Coliseum from April 18-20. The Royals have won 10 of their last 17 in Oakland.

Guillen homered for the first time since June 23 for his 14th of the year, Greinke won for the first time since June 24, and Gordon's 12th homer of 2008 was his first since July 1.