Haren set down 12 straight hitters and took a 3-1 lead into the bottom of the sixth. Marlon Byrd hit a leadoff double to end Haren's run and Placido Polanco sacrificed. Bobby Abreu's RBI double cut the deficit to 3-2. Thome followed by depositing a 2-0 pitch over the center field fence to give the Phillies the lead for good. Lieberthal then followed with his seventh homer to make it 5-3.
The Cardinals scored in the seventh when Jim Edmonds drew a one-out walk and Albert Pujols singled to extend his hitting streak to 30 games, the longest by a Cardinal since Stan Musial's 30-game run in 1950. Orlando Palmeiro drew a bases-loaded walk later in the frame to force across the Cardinals' fourth run of the night.
Phillies closer Jose Mesa, who recently was given back the closer's job, walked Pujols on five pitches to open the ninth. He retired the next three hitters, striking out former Phillie Scott Rolen and pinch-hitter Bo Hart for the final two outs and his 22nd save in 25 chances.
Pujols reached base four times, walking three times. He is three games shy of Rogers Hornsby's club-record hitting streak set in 1922.
The series wraps up Sunday with Brett Tomko (9-7, 5.46) going against Amaury Telemaco. Telemaco will be making his first appearance of the season for the Phils after pitching the entire year at AAA Scranton Wilkes-Barre.