He threw 109 pitches, struck out six, and walked two.
"Today was about as close as I have felt to where I want to be," Halladay said. "I had some times where I got away from it, just trying to do too much."
It's something he is always conscious of.
"I think when I stay within myself and execute the mechanics the way it should be done, I feel good," he said. "I feel good where I am at."
The rain delay began at 9:07 p.m., as the top of the seventh inning ended. The game was called 35 minutes later.
The Phillies (7-10) scored five runs in the first inning, and it all started with a most unlikely occurrence - a two-out walk to Chase Utley.
The Phillies had gone the previous four games without a walk. Not so coincidentally, they had lost all four.
"We got a walk. We finally got a walk," quipped manager Charlie Manuel.
He then turned more serious in talking about Halladay.
"Even when he got behind, he still made quality pitches," Manuel said. "He was still able to locate the ball good on both sides of the plate."
Following the Utley walk, Michael Young singled up the middle to extend his hitting streak to 10 games, putting runners at the corners with two outs. John Mayberry Jr. followed with an RBI double to left.
The Phillies were just getting started. Former Phillie Ty Wigginton then made a throwing error on Kevin Frandsen's grounder to third base that brought two more runs in. Ben Revere followed with an RBI triple, and Humberto Quintero then drilled an RBI double.
"It's a big difference pitching with a nice lead," Halladay said.
Halladay was coming off Sunday's strong, 2-1 win over the Miami Marlins for his 200th career victory. He allowed one earned run in eight innings, but it was against the sputtering Marlins, who entered Friday having scored a major-league-low 33 runs in the first 16 games.
This would be a greater test. The Cardinals had scored 83 runs in their first 15 games, or 28 more than the Phillies had in 16 games.
Beltran crushed a home run to lead off the second inning, but the Phillies answered with Utley's bloop RBI single in the bottom of the inning. In the third, Quintero added an RBI single, and Revere scored on a wild pitch.
In addition, Freddy Galvis in left field and Revere in center made outstanding diving catches.
On this night, the offense, defense, and pitching were all performing well in the same game.
Contact Marc Narducci at email@example.com. Follow @sjnard on Twitter.