Updated

Roy Halladay tossed a two-hitter on Friday to help the Philadelphia Phillies earn an 8-2 victory over the St. Louis Cardinals in a rain-shortened second test of a four-game set at Citizens Bank Park.

Halladay (2-2) surrendered a pair of solo home runs and walked two while striking out six over seven strong innings before the heavy rain came down and forced the game to be called in the middle of the frame.

"He was able to locate the ball good on both sides of the plate," Phillies manager Charlie Manuel said of Halladay. "He had a real good outing."

Humberto Quintero went 2-for-3 with two RBI, while Chase Utley, John Mayberry and Ben Revere added an RBI apiece for the Phillies, who had lost a season- high four straight games.

Jaime Garcia (1-1) gave up eight runs -- four earned -- on nine hits and two walks over three frames to absorb the loss.

"They put some good swings on pitches that I was making," Garcia admitted. "There's no excuses, I just didn't get the job done tonight."

Carlos Beltran and Matt Holliday each clubbed a solo shot for the Cardinals, who had won two of three coming in, including a 4-3 decision in Thursday's series opener.

The Phillies had gone the last four games without a walk, but Utley earned a two-out free pass to keep the first inning alive before Michael Young slapped the 10th pitch of his at-bat back up the middle to put runners on the corners.

"We finally got a walk," Manuel joked. "That was big."

Mayberry then scorched a double to left to score Utley before Kevin Frandsen ripped a grounder that St. Louis third baseman Ty Wigginton made a diving stop on.

Wigginton's throw, however, sailed wide of first base, allowing Young and Mayberry to score, while Frandsen coasted into second as the Phillies grabbed a 3-0 lead.

Revere then followed with a triple into left-center field to plate Frandsen before trotting home on Quintero's double to center to make it 5-0.

Beltran stroked Halladay's first offering of the second deep into the seats in right-center field to get the Cards on the board, but the Phillies answered in the bottom half when Jimmy Rollins ripped a leadoff double, moved to third on a ground out, and then crossed the plate on Utley's looping single into shallow right field.

After Halladay retired St. Louis in order in the top of the third, Frandsen worked a leadoff walk and moved to third on Revere's base hit through the right side of the infield. Quintero followed with a looping single into right center to score Frandsen before Garcia uncorked a wild pitch to plate Revere for an 8-1 lead.

Halladay, meanwhile, retired 15 of the next 16 hitters he faced following Beltran's blast before serving up a leadoff homer to Holliday in the seventh.

The right-hander responded by fanning back-to-back batters, and after a walk to Wigginton, Halladay induced a grounder from Tony Cruz to end the seventh inning.

Rain then started with the teams in their dugouts and after a 35-minute delay, the game was called, giving Philadelphia the victory.

Game Notes

It was Halladay's 67th career complete game ... Young extended his hitting streak to 10 games with his single in the first ... Revere's triple in the first was his first extra-base hit as a Phillie ... St. Louis left two men on base and did not register an at-bat with a runner in scoring position ... Utley's walk in the first snapped a string of 137 consecutive plate appearances without a walk for the Phillies.