ATLANTA — Dan Uggla needed a breakout game.
The surprise was the Braves second baseman found his hitting stroke against Phillies ace Roy Halladay.
Uggla hit a tiebreaking home run off Halladay in the eighth inning to cap a productive afternoon, and Atlanta beat Philadelphia 3-2 on Sunday to win twice in the three-game series.
Uggla, who began the day hitting only .196, had two hits and a walk and scored each of the Braves' runs. It was his first multihit game since having three hits against Milwaukee on May 4.
"You see how bad I've been scuffling so far this year," Uggla said. "It feels good to be able to feel like you contributed."
Uggla came to the Braves in an offseason trade with Florida. Atlanta was looking for a right-handed power bat in the middle of lineup.
"It just helps you feel more a part of the team," Uggla said. "I already do. The guys have made me feel welcome. Even so, you still want to do your part."
Uggla hit a 3-2 pitch from Halladay for his seventh homer, barely clearing the wall in left-center to lead off the eighth. It was only the second homer given up by Halladay this season.
"Uggla's been struggling," Phillies manager Charlie Manuel said. "He stays at it. He kept swinging until he hit one. When he gets going, he gives them some big pop in the middle of their lineup."
Ernie Banks, Morgan Freeman and Carlos Santana received Beacon Awards and Hank Aaron was honored before baseball's annual Civil Rights Game.
Freddie Freeman drove in two runs for Atlanta, Jonny Venters (3-0) pitched a perfect eighth and Craig Kimbrel recorded the final three outs for his 10th save.
Pinch-hitter Ben Francisco led off the ninth with a walk, and he moved to second with two outs on a wild pitch. Kimbrel ended the game on Jimmy Rollins' soft fly ball to left field.
John Mayberry had a two-run homer for Philadelphia.
Halladay (5-3) gave up eight hits and three runs in eight innings, striking out seven with a pair of walks.
The Braves won two of three from the Phillies for the second time in 10 days after winning a series in Philadelphia on May 6-8.
"It keeps us inching to where we want to be," Braves manager Fredi Gonzalez said. "We're not there right now."
Tim Hudson pitched seven strong innings and combined with Venters and Kimbrel on a four-hitter.
"Our hitting's got to pick up," Manuel said. "We'll find somebody. We'll look until we find somebody."
Hudson had an injury scare in the fourth when he slipped and appeared to hurt his right leg trying to spring off the mound and cover first on Ryan Howard's grounder to Uggla at second base.
He remained in the game after taking warmup throws as Gonzalez watched.
"He felt his hip pop," Gonzalez said. "When he came off he just said 'That was old age.'"
The 35-year-old Hudson pitched seven innings, allowing two runs on four hits and five walks, one shy of his career high. He struck out three.
The Braves took a 1-0 lead in the fourth, when Uggla singled and scored on Freeman's infield hit. The Phillies answered in the sixth when Placido Polanco led off with a walk and scored on Mayberry's line-drive homer to left-center with two outs.
Atlanta tied it at 2 in the sixth. Uggla walked, moved to on Eric Hinske's single to right and scored on Freeman's sacrifice fly.
NOTES: 3B Chipper Jones was a late scratch with a sore right knee. Brooks Conrad replaced him in Atlanta's lineup. ... The Braves placed RHP Brandon Beachy on the DL with a strained oblique and recalled RHP Scott Proctor from Triple-A Gwinnett. ... Phillies GM Ruben Amaro said he doesn't think CF Shane Victorino, who left Saturday's game with a sore right hamstring, will be placed on the DL. Victorino did not play Sunday as Michael Martinez made his second start in center field. ... Phillies C Carlos Ruiz singled in the second to end an 0-for-26 slump.