Barry Bonds and Albert Pujols had key homers in their teams' narrow victories. Ryan Howard's drive was an encouraging sign for the Philadelphia Phillies.
Three of baseball's best sluggers went deep Sunday, with Bonds hitting No. 740 to move within 15 of Hank Aaron's career record. Bonds connected for the second consecutive game and Matt Cain tossed a three-hitter in the San Francisco Giants' 2-1 victory over the Arizona Diamondbacks.
``It's awesome for him to be swinging it like he's swinging it,'' Cain said.
At Chicago, Pujols hit a three-run homer in the 10th inning and Scott Rolen had a career-best five hits to help the St. Louis Cardinals beat the Chicago Cubs 12-9.
``The ball was blowing out of the park. You don't have to kill the ball to go out,'' said Pujols, who cleared the bleachers in left-center with his long drive off Ryan Dempster.
In Cincinnati, Howard returned from a few days off looking healthy and ready to break out of his April slump. The NL MVP homered in his first game back from an injury to help Freddy Garcia earn his first National League victory, and the Phillies beat the Reds 9-3.
Howard, who missed the last three games with a sprained ligament just below his left knee, hit a sacrifice fly, drew a walk, struck out and flied out to center field before hitting his second homer of the season, a 410-foot, two-run shot to center in the ninth.
``I felt good,'' Howard said. ``I hit in the cage the last couple of days but the real test was getting out on the field for nine innings. Hitting the ball to center field is where you want to be.''
In other NL games Sunday, it was: Atlanta 9, New York Mets 6; Milwaukee 4, Houston 3; Florida 12, Washington 6; Colorado 4, San Diego 2; and Pittsburgh 7, Los Angeles Dodgers 5.
Cain (1-1) struck out four in his third career complete game and first since a one-hitter last May 21 at Oakland. With two outs in the fourth inning, Bonds sent the first pitch from Yusmeiro Petit (0-1) into the seats in the right-field arcade for his sixth homer of the season.
At Wrigley Field, Preston Wilson singled to start the 10th against Dempster (0-1). One out later, David Eckstein singled off Aramis Ramirez's glove at third. Pujols then a drove a long homer to center field, his fifth of the season.
The Cubs tied it in the ninth on Mark DeRosa's two-out, two-run bloop single off closer Jason Isringhausen (1-0). It was Isringhausen's first blown save in five chances.
Garcia (1-1), who was acquired from the White Sox in December, went five innings in Cincinnati in his second start since opening the season on the disabled list with tendinitis. He allowed four hits and two runs.
Reds right-hander Matt Belisle (2-1) gave up eight hits and four runs in five innings.
Braves 9, Mets 6
At New York, Kelly Johnson started the day with a home run against Tom Glavine and finished off the Mets with another homer off Aaron Heilman (1-2).
Johnson homered on the first pitch of the game, then hit a tiebreaking, three-run drive in the eighth inning for Atlanta.
A sellout crowd of 55,671 came out on a sunny spring afternoon to watch Glavine face John Smoltz, his golfing buddy and former teammate. Jose Reyes' three-run triple in the sixth put the Mets ahead, but Edgar Renteria erased a 6-3 deficit in the seventh with a three-run homer off Scott Schoeneweis.
Ex-Met Tyler Yates (1-0) pitched a perfect seventh and Bob Wickman got three outs for his sixth save.
Smoltz allowed six runs and nine hits in 5 2-3 innings. Glavine went six for the Mets, giving up three runs and seven hits.
Brewers 4, Astros 3
At Milwaukee, Dave Bush pitched into the ninth inning in another strong performance against Houston.
Bush (2-1) allowed three runs and five hits in eight-plus innings to improve to 3-0 in his career against the Astros. He struck out seven and walked one.
Bush came out for the ninth inning but couldn't record an out, allowing Lance Berkman's RBI double before he was replaced by Francisco Cordero. Morgan Ensberg hit a run-scoring single with one out, and Adam Everett walked with the bases loaded to get the Astros within one.
Cordero then retired two straight pinch hitters, striking out Orlando Palmeiro and getting Craig Biggio to foul out to pick up his seventh save.
Roy Oswalt (3-1) failed in his bid to win his 10th straight decision, a streak that dated to Aug. 23, 2006. He gave up four runs and seven hits.
Marlins 12, Nationals 6
Dan Uggla homered twice and drove in six runs, and Miguel Cabrera hit a drive into the upper deck for Florida.
Wes Obermueller (1-0) earned his first major league victory in almost two years and Josh Willingham also homered for the Marlins. Kevin Gregg pitched three innings to earn his first save.
Jerome Williams (0-4) gave up 10 runs, nine earned, and nine hits in six innings and Ryan Zimmerman hit his first career grand slam in the ninth inning for the visiting Nationals.
Rockies 4, Padres 2
At Denver, Jason Hirsh outpitched Greg Maddux for the second time this season to lead the Rockies to the win.
Hirsh (2-1) went seven innings, giving up two runs and four hits and striking out seven.
Maddux (1-2) left after pitching seven innings at Coors Field. Maddux, who has 334 career victories, allowed four runs, scattered seven hits and struck out four. Brian Fuentes got three outs for his fourth save in as many chances.
Khalil Greene hit his fourth home run for the Padres.
Pirates 7, Dodgers 5
At Los Angeles, Adam LaRoche homered and Pittsburgh snapped a four-game losing streak.
Chris Duffy had three hits, stole two bases and scored two runs, and Tom Gorzelanny (3-0) allowed three runs in six innings for the Pirates.
Salomon Torres pitched the ninth for his sixth save in eight chances.
Brett Tomko (0-1) gave up five runs and eight hits in six innings for the Dodgers.