The speedy Revere slid home with nobody out in the eighth, scoring from third base on Jimmy Rollins' chopper. First baseman Justin Morneau was playing in, but his throw was too late to catch Revere - formerly of the Twins.
Lee (8-2) gave up only one hit and faced the minimum number of batters through 6 1-3 innings before Joe Mauer walked and Ryan Doumit reached on an infield hit.
Morneau lined a two-run double past a diving Revere to give Minnesota a 2-1 lead in the seventh.
Pinch-hitter Kevin Frandsen opened the eighth with a double against reliever Jared Burton (0-4) and scored the tying run on Michael Young's single.
After surrendering a four-run lead in a loss to Milwaukee last Friday, Lee was locked in and performed well again following a loss.
In eight starts this season after a Phillies defeat, Lee is 7-1 with a 2.54 ERA.
The Phillies needed Lee to be as sharp as he was because even though they had 16 hits, they stranded 16 runners - including 10 in the first five innings against Kevin Correia.
Mike Adams pitched a perfect eighth, and Jonathan Papelbon worked the ninth for his 12th save.
The Phillies bullpen had given up late leads in the first two games of this series and entered the game with a 4.56 ERA - third worst in baseball.
In contrast, the Twins bullpen had a 1.78 ERA in its previous 18 games before Burton allowed the first four runners to reach in the eighth.
Correia allowed one run and eight hits, and struck out six in five innings.
Ryan Howard had three singles - all grounders through a Twins' defense shifted to the right side - and an RBI.
Young tried to score on Howard's third single in the sixth, but was thrown out by Doumit.
Mauer had the only other Twins hit, a single in the fourth.