The surprising Giants, winners of five straight and off to their best start (9-3) since 1987, snapped a 4-4 tie when pinch-hitter Marvin Benard delivered an RBI single off reliever Reggie Harris, capping the four-run sixth.
Jeff Kent homered for the third straight game and knocked in three runs for the Giants. Kent has 18 RBIs this year - knocking in almost as many runs as the entire Phillies team has scored (25).
The loss, Philadelphia's fourth straight, went to Bobby Munoz, who hasn't won in nearly three years.
Munoz pitched well until he allowed four runs in the sixth.
``I felt good; I was still throwing in the 90s, but it seems like there's just one inning in every game that kills me,'' Munoz said. ``If I can avoid that one bad inning, I'd be OK.''
San Francisco, which scored three ninth-inning runs to secure the win, is now 4-0 in visiting ballparks, its best road start since 1963.
The Phils, now 3-9, are 0-3 at the Vet.
Munoz last won on July 27, 1994. Since then, he has made just 13 major-league starts and has gone on the disabled list five times.
Munoz and the Phillies seemed ready to end their losing streaks when they took a 4-1 lead into the sixth inning. Munoz constantly pitched out of early-inning trouble and even supplied a run-scoring double.
And Phils' baserunners, perhaps inspired by the film of speedy Jackie Robinson that was shown on Phanavision before the game, were stealing bases and actually helping to set up the three-run rally.
Scott Rolen started the second inning by coaxing a walk - just his second of the season - against righthander William VanLandingham. Rolen, who reached base four times, stole second (the first steal of his career) and went to third as catcher Rick Wilkins' throw sailed into center field.
Butler, a former Toronto Blue Jay who replaced the slumping Wendell Magee Jr. in the starting lineup, stroked a 2-2 pitch into left-center for an RBI single. For Butler, who played against the Phillies in the 1993 World Series, it was his first National League hit and RBI. The ball was flipped into the Phils' dugout as a keepsake.
Butler stole second and, one out later, scored as Munoz slammed a double to deep left-center. Munoz scored as Gregg Jefferies grounded a single down the right-field line.
Jefferies stole second - the Phils' fourth steal of the game - but was stranded.
Nevertheless, the Phils, who had not scored more than three runs in any game this season, had a 3-0 lead.
Three hours later, with maybe 2,000 people left in the stands, the Phils' defeat was in the books.
Daulton went 0 for 4 and failed to kick start the offense.
``Defensively, he was fine. I didn't see him not make any plays he should have made,'' manager Terry Francona said. ``Him being out there didn't cost us any runs, but he needs some at-bats. You can't expect him to have his timing down.''
``I didn't do anything to help the club offensively, and that's discouraging,'' Daulton said. ``I'm a little rusty at the plate, but that can be worked at.''
Daulton iced his aching knees for about 10 minutes after the game.
``On [cold] nights like this, it's not fun,'' he said. ``But I've felt worse.''
Before the game, Francona was asked if he was anxious to watch Daulton play his first-ever game as a rightfielder.
``I'm anxious to see him hit fourth,'' the manager said.
``I'm happy for him. This has a chance to work out good for our ball club,'' said Francona, adding that the move enables him to play Rico Brogna - ``a player who we feel is our future'' - full-time at first base.