ST. LOUIS — Matt Morris pitched no-hit ball into the seventh inning and finished with a three-hitter as the St. Louis Cardinals beat the Cincinnati Reds 9-0 Sunday.
Fernando Vina had a season-high four hits, and Orlando Palmeiro and Mike Matheny homered for St. Louis, 1 1/2 games out of the NL Central lead.
Morris (10-6) struck out eight and walked one in his third shutout and fifth complete game this season. He got all the support he needed in a three-run first.
Tino Martinez drew a bases-loaded walk off Seth Etherton (2-3), and Edgar Renteria followed with a two-run double.
PADRES 7, ASTROS 1: At San Diego, Brian Giles hit his first home run for San Diego as the Padres dropped the Astros out of first place in the NL Central, a half-game behind Chicago.
Giles homered off Wade Miller (12-12) in the first inning.
Gary Bennett hit a three-run double in the sixth and Ramon Vazquez had an RBI single that gave San Diego a 7-1 lead.
Jake Peavy (11-10) beat the Astros for the second straight start. He held them to one run and two hits over six innings while overcoming six walks.
CUBS 9, BREWERS 2: At Milwaukee, Randall Simon homered twice and drove in five runs and Sammy Sosa added a solo shot to help Kerry Wood (12-11) win for the first time in a month.
Wood gave up eight hits and two runs in seven innings and had six strikeouts to raise his major-league-leading total to 234.
Sosa hit his 34th home run to lead off the seventh for a 7-2 lead. After Aramis Ramirez singled, Simon followed with his second homer and 15th of the season to make it 9-2. Simon's homer in the third gave Chicago a 5-0 lead.
Doug Davis (2-1) allowed five runs on four hits in four innings.
BRAVES 2, PIRATES 1: At Atlanta, Javy Lopez hit a tiebreaking homer in the seventh and Mike Hampton pitched four-hit ball over eight innings.
Lopez also hit a two-out double in the fourth before his leadoff homer in the seventh.
Hampton (13-7) snapped a two-game losing streak, allowing just one hit over his final five innings. He gave way to Will Cunnane, who pitched a scoreless ninth for his first career save.
Pittsburgh's only run against Hampton was unearned. The left-hander outdueled Pittsburgh's Kip Wells (7-8), who surrendered eight hits in the second complete game of his career.
DODGERS 6, ROCKIES 2: At Denver, Adrian Beltre drove in three runs and had four hits to back Wilson Alvarez, and Los Angeles handed Colorado its season-high eighth straight loss.
Los Angeles, which has won eight of its last 10.
Shawn Green had two RBIs including a solo homer, his 14th of the season.
Colorado has gone 1-13 in its past 14 games, including 1-8 at Coors Field.
Alvarez (4-1) allowed eight hits and one run in seven innings. Eric Gagne came in with two runners on and got three outs for his 49th save this season and 57th straight dating back to last season, both major-league records.
MARLINS 3, EXPOS 1: At San Juan, Puerto Rico, Dontrelle Willis pitched three-hit ball into the eighth inning as Florida beat Montreal.
Willis (12-6) struck out six in seven-plus innings as the Marlins took two of three games in Hiram Bithorn Stadium.
Braden Looper finished the win for his 27th save in 31 chances. Montreal's Javier Vazquez (12-10) looked sharp before losing control in the sixth inning and giving up four consecutive hits.
DIAMONDBACKS 9, GIANTS 6: At San Francisco, pinch-hitter Danny Bautista hit a tiebreaking two-run single to highlight a five-run eighth inning and lead Arizona over San Francisco.
Giants reliever Joe Nathan (9-4) walked the bases loaded with two outs before Steve Finley doubled to right off Chad Zerbe for his fourth hit of the game to tie it at 6.
Bautista followed with his single off Matt Herges, and Luis Gonzalez followed with an RBI single.
PHILLIES 5, METS 4 (11): At Philadelphia, Marlon Byrd and the Philadelphia Phillies overcame another shaky outing from the bullpen to maintain their NL wild-card lead.
Byrd's bases-loaded single in the 11th inning gave the Phillies their sixth straight victory Sunday night, 5-4 over the New York Mets.
The Phillies have won eight of 10 following a six-game losing skid and hold a one-game lead over Florida in the wild-card race. They've won seven straight against the Mets after their first four-game sweep of New York since 1995.