ST. LOUIS (AP) -- Roy Halladay gave up a grand slam to Yadier Molina in an abbreviated two-inning start before leaving with shoulder soreness, and the St. Louis Cardinals avoided a four-game sweep with an 8-3 win over the Philadelphia Phillies on Sunday.
The Phillies were looking for their first four-game sweep in St. Louis in 99 years.
Adam Wainwright (4-5) allowed a run on seven hits in six innings, thriving in 90-degree heat for his second straight dominant outing. Molina left due to dehydration during an at-bat in the fifth.
All of the Cardinals' runs came from homers. Carlos Beltran's three-run homer in the fifth was his NL-leading 15th and rookie Matt Adams, who's been filling in for injured Lance Berkman at first base, hit the first of his career off Chad Qualls in the seventh.
Halladay (4-5) departed with a 3.98 ERA after an outing that matched the second-shortest outing of his career. The team said the two-time Cy Young award winner was taken out as a precautionary measure and that he'll be re-evaluated in the next few days.
The Phillies are already without stars Ryan Howard and Chase Utley. Halladay was 19-6 with a 2.35 ERA last year, and allowed 10 homers in 32 starts.
Since winning his first three starts, Halladay is 1-5 with a 5.08 ERA in eight games, and the Phillies have lost seven of his last eight starts. He's absorbed the last two losses for the Phillies, who entered the series finale on a four-game winning streak.
Molina's third career grand slam was the fifth allowed by Halladay, two of them this year after the Braves' Brian McCann connected May 2 at Atlanta. Halladay has allowed six homers this season, all this month.
Skip Schumaker and Matt Holliday singled with one out and David Freese walked with two outs before Molina hit his seventh homer of the season to straightaway center, a deceptive drive that had Shane Victorino backpedaling before running out of room.
This is the 89th time the two teams have met in St. Louis for a four-game series since the Phillies' last sweep in 1913. The Phillies' last three-game sweep in St. Louis was in 2006.
Molina made the Cardinals' only mistake, trotting from first to third after believing Adams' drive right-center in the fourth was a homer. Victorino made a leaping catch at the wall to rob Adams of extra bases and threw to first for an easy double play.
The Phillies' 2-3-4 hitters, Juan Pierre, Hunter Pence and Carlos Ruiz, combined for seven hits. Pierre had three hits and two RBIs.
The Cardinals lead the NL with 63 homers after entering the game with eight more than the next-best Brewers.
Wainwright has allowed three runs in 21 2/3 innings his last three starts, including a shutout with nine strikeouts against the Padres in his last time out. He walked none for the first time this season and struck out two to go to 3-1 for his career against Philadelphia.
NOTES: The Cardinals are the first team in the majors with three players hitting 10 or more homers. ... The Phillies lost for just the fourth time in their last 14 road games. ... Halladay had no strikeouts and remained 10 shy of becoming the fourth active player with 2,000. ... Before McCann's grand slam earlier this month, the last slam off Halladay was by the Rays' Evan Longoria in 2008. ... Molina's last grand slam was Sept. 6, 2010 at Milwaukee against Todd Coffey.