Phillies 2, Astros 1

Roy Halladay struck out eight in his first NL complete game as visiting Philadelphia completed a sweep of winless Houston Sunday.

Halladay (2-0) retired the last nine Astros in order and 83 of his 111 pitches were strikes as he threw his 50th complete game and earned his 150th win. Roy Oswalt (0-2) struck out eight in six innings as Houston dropped to 0-6. The Phillies improved to 5-1.

Giants 6, Braves 3

Tim Lincecum (2-0) struck out 10, Pablo Sandoval hit a two-run homer and host San Francisco won a game that finally started after a rain delay of 4 hours, 9 minutes.

Brewers 8, Cardinals 7

Casey McGehee homered in the bottom of the ninth to lift host Milwaukee after closer Trevor Hoffman gave up home runs to Albert Pujols and Matt Holliday in the top half to turn a 7-4 lead into a 7-7 tie. It was Pujols' second two-run homer of the game.

Marlins 6, Dodgers 5

Jorge Cantu tied a career high with five RBIs, and host Florida rallied for the second time in less than 18 hours. Cantu hit a three-run homer and later put the Marlins ahead 6-5 with a two-run double in the seventh.

Rockies 4, Padres 2

Ubaldo Jimenez (2-0) struck out seven over six innings for host Colorado.

D-backs 15, Pirates 6

Edwin Jackson went seven innings for the win and also hit the first homer of his career, capping a 13-run burst in the fourth inning for host Arizona.

Cubs 3, Reds 1

Mike Leake pitched into the seventh in his major-league debut, and Ramon Hernandez had the go-ahead RBI with a bases-loaded walk for host Cincinnati. Leake became the 21st player since the draft began in 1965 to play without appearing in a minor-league game and first since Xavier Nady in 2000. He's also the first American pitcher to do it since Darren Dreifort with the Dodgers in 1994. - AP

More MLB news