Barry Bonds wanted to play yesterday, so manager Felipe Alou rewrote his lineup to include the star slugger.
Bonds, who usually gets a day game off after a night game, hit his 668th home run, giving the six-time NL MVP and his late father, Bobby, a total of 1,000.
But the World Series champion Florida Marlins hit three homers of their own to defeat the Giants, 4-3, in San Francisco.
Mike Lowell connected for a tiebreaking solo homer off Felix Rodriguez (1-1) in the ninth inning.
Astros 2, Pirates 0 -- Andy Pettitte breezed effortlessly through the Pirates' lineup for six innings to get his first NL win, allowing only one hit until his bullpen finished in Pittsburgh.
Pettitte (1-1) hadn't pitched in 23 days because of a strained left elbow, yet looked just like the pitcher who won 21 games for the Yankees last season and has averaged nearly 17 victories in his first nine seasons.
He quickly settled into a rhythm, something he didn't do in a 7-5 loss to the Giants April 6 in his Astros debut.
Raul Mondesi was the lone Pittsburgh player to reach base against him, drawing a walk in the first and hitting a ground ball single up the middle in the third.
The Pirates, losing their sixth in eight games, had only two fly ball outs in the first five innings and advanced only one runner as far as second against Pettitte, who threw 50 of his 74 pitches for strikes.
Mets 6, Dodgers 1 -- Jae Seo pitched effectively into the seventh, Karim Garcia hit a two-run homer, and visiting New York beat Los Angeles.
Seo (1-3), who had won just one of his last eight decisions dating to Aug. 31, held the Dodgers to one run on six hits in 6 1/3 innings. He struck out three and walked two.
The Mets' Mike Piazza, whose 351 homers as a catcher ties him with Carlton Fisk atop the all-time list for that position, went 0 for 3, struck out twice, and walked once.
Cardinals 5, Phillies 4 -- Jim Edmonds homered to lead off the 13th, giving host St. Louis the victory and averting a three-game sweep.
Edmonds hit an 0-and-2 pitch from Amaury Telemaco, entering his fifth inning of relief, over the right-field wall for the sixth game-ending homer of his career.
Edmonds had struggled at the plate before that, going 1 for 5 with a single and three strikeouts.
Padres 2, Expos 1 -- David Wells pitched seven effective innings for his first win with San Diego, beating visiting Montreal.
Khalil Greene had a go-ahead RBI double in the seventh as the Padres completed a four-game sweep of the Expos for the first time since both teams joined the major leagues in 1969.
Wells (1-2) allowed two hits and one run -- unearned -- in seven innings for his first win since signing with San Diego.