Kevin Frandsen grounded to short on the drawn-in infield. Even the speedy Revere had to hold up despite the fact that shortstop Pete Kozma bobbled the ball before throwing Frandsen out.
Jimmy Rollins struck out for the second out and Freddy Galvis ended the game with a groundout to second.
"We battled and our approach was better, but we didn't get the result," said Michael Young, who extended his hitting streak to nine games.
The Cardinals opened the scoring in the fourth. Matt Holliday led off with a walk and Allen Craig followed with a double to right-center field that was a true gift. Before attempting to make the catch, Phillies rightfielder John Mayberry Jr. fell and the ball landed in front of him.
"I went back on it and looked back and the ball was in the lights," Mayberry said. "By the time I tried to recover and plant, my cleat kind of gave out and I wasn't able to recover and make the break."
Yadier Molina, who entered the game with a lifetime .313 average against the Phillies, hit a two-run double down the right-field line that was ruled fair. Manuel argued the call, and replays appeared to indicate that he had a legitimate beef.
"It was a foul ball, but it was very close," Manuel said.
The Phillies tied it at 2 in the sixth. Rollins hit a one-out double down the first-base line. Galvis then drilled an RBI double to deep center. Cardinals centerfielder John Jay got a late jump on the ball and just missed making the catch near the wall. Chase Utley tied the score with an RBI single that just eluded Kozma at short.
St. Louis starter Adam Wainwright averted further damage by getting Ryan Howard and Young on groundouts.
The Cardinals regained the lead in the seventh. David Freese led off with a double to right-center field and was sacrificed to third by Jay. Freese scored on a sacrifice fly to right by Kozma. Mayberry's throw home was off-line and Freese easily scored.
Kratz's RBI single to left tied the score in the bottom of the seventh.
Phillies lefthander Cole Hamels pitched seven innings and allowed five hits and three earned runs while striking out eight and walking two.
"I was working really well and I was able to execute a lot of pitches," Hamels said. "A few of them get away and don't go where you planned, and they come at the wrong time."
St. Louis took a 4-3 lead on Carlos Beltran's one-out home run to left off Mike Adams in the eighth.
"I left one up where he could get a good pass on it and obviously he took a pretty good swing and the ball went out," Adams said.
In the eighth, Mujica came in with runners on first and second and two outs and ended the inning by striking out pinch-hitter Laynce Nix. He got out of another jam in the next inning.
Contact Marc Narducci