The Phillies took advantage of second baseman Kelly Johnson's ninth-inning error to tie the game 2-2.
Johnson dropped a pop fly by Chris Coste with two outs in the ninth for an error, allowing Eric Bruntlett to score the tying run from second. After Bruntlett scored, Johnson threw out Pedro Feliz, who tried to score from first, to end the inning. Braves fans, on their feet to cheer the expected win, were too stunned to even boo.
Manny Acosta (3-4) lost for the second time in three days, giving up two hits and two runs while recording only one out.
Acosta gave up a leadoff double to pinch-hitter Chris Snelling in the 10th. Pinch-runner So Taguchi moved to third on a sacrifice and scored on Victorino's triple to right-center, his second of the game. Chase Utley added a run-scoring double off Royce Ring, what proved to be a true insurance run when the Braves started to rally in the bottom of the inning.
With one out, Josh Anderson singled off closer Brad Lidge and moved to third on Blanco's infield hit. Blanco stole second, but Lidge struck out Greg Norton. Yunel Escobar then drove in Anderson with a single to center, but Victorino threw out Blanco on a close play at the plate to end the game.
Braves manager Bobby Cox argued the call with home plate umpire Alfonso Marquez.
Tom Gordon (5-2) earned the win and Lidge got his 16th save.
Atlanta's Rafael Soriano, who earned his third save Thursday night, was not used to protect the ninth-inning lead. Soriano returned on May 28 after missing 45 games with elbow tendinitis.
With two outs in the ninth, Blaine Boyer walked Geoff Jenkins. Bruntlett, a pinch runner, stole second without a throw. Boyer walked Feliz before facing Coste.