ST. LOUIS -- Kyle Kendrick's first win of the year was almost worth the wait.
The right-hander was in complete control with a seven-hitter for his first career shutout, putting the Philadelphia Phillies on the verge of their first four-game sweep in St. Louis since 1913 with a 4-0 victory on Saturday night.
Shane Victorino's RBI double in the fourth was the only support Kendrick (1-4) needed. John Mayberry added a two-run double in a three-run sixth, and Hunter Pence and Brian Schneider had two hits apiece for the Phillies, who have won four in a row.
"That's a good offense over there, so it's a good feeling," Kendrick said. "I wanted to go out there and finish it, give the bullpen a little rest and watch Roy throw tomorrow."
Kendrick entered with a 5.23 ERA and the Phillies were 1-9 in the games he pitched, five of them starts. But he's 5-1 against the Cardinals in eight games, all but two of them starts, and three of the wins have come in St. Louis.
He didn't mind that it was 94 degrees at gametime.
"This is one of my favorite places to pitch, Atlanta and here," Kendrick said. "It's warm, I like the humidity."
Jaime Garcia (3-3) allowed four runs on six hits in six innings for the Cardinals, who swept a three-game series against the Padres before hitting the wall against the team they upset in the NL division series last fall.
"We know it's a long ride, it's a rollercoaster," catcher Tony Cruz said. "It's up and down and we'll keep battling. That's all we can do."
David Freese had two singles and is 7 for 18 with two homers and four RBIs for St. Louis since returning from a two-game break to clear his head from a 3 for 34 slump.
According to STATS LLC, the Phillies haven't swept a four-game series at St. Louis since Aug. 3-6, 1913. Three-game series are a lot more common between teams from different divisions, and Philadelphia's last three-game sweep in St. Louis is much more recent, from Aug. 1-3, 2006.
Kendrick needed just 94 pitches, 70 of them strikes, to throw his second career complete game and first since July 3, 2010, at Pittsburgh. He worked ahead in the count constantly, throwing first-pitch strikes to the first 13 batters, and 26 of 32 hitters overall, and had four strikeouts with no walks.
The game plan was to take advantage of the Cardinals' aggressiveness at the plate. The first two games, Kendrick noticed lots of swings early in the count.
"I remember looking up in the fifth or sixth and I saw 40-something pitches," Kendrick said. "I knew if I could just stay doing what I was doing, I could get deep, really deep, and hopefully finish the game."
Tyler Greene was the lone Cardinal to have a three-ball count before grounding out for the first out of the ninth. Only seven were around long enough to get two balls.
"He had his A stuff definitely," said Matt Adams, who was 1 for 4 with a single. "He was really locating."
Kendrick pitched a season-high seven innings in his previous start, a 2-1 loss to the Nationals on May 21. He allowed three or fewer runs for the 14th time in 15 starts.
Philadelphia totaled just five runs while Kendrick was in the game his other five starts this season, an average of 1.67 runs that was the majors' worst with a minimum of five starts.
St. Louis got its first runner in scoring position when Tyler Greene doubled with two outs in the sixth. Kendrick escaped by getting Holliday to ground out.
Garcia retired seven of eight before the fourth, when Pence had a leadoff single and scored on Victorino's double to put the Phillies ahead.
Placido Polanco doubled to start the sixth and Garcia walked two of the next three hitters before Mayberry doubled down the third base line. Mayberry had been 3 for 22 with one RBI against St. Louis, but with all three hits and the RBI in six at-bats against Garcia.
Garcia's effectiveness was down from his previous two starts in which he gave up three runs in 14 1/3 innings.
"I wasn't able to make pitches when I needed to," Garcia said. "The sixth inning got away from me, but what can you do? You just learn from what happened and go out there next start and try to pitch a little better."
Cardinals SS Rafael Furcal and C Yadier Molina both got days off, along with Phillies C Carlos Ruiz. ... Victorino, who lost track of a flyball on Friday night, hasn't committed an error in 223 games. RF Pence blamed twilight for a pair of balls that dropped in the fourth, but Cardinals manager Mike Matheny said none of his players have ever complained about visibility problems. ... Attendance of 44,476 was St. Louis' 10th sellout. ... The time of game was 2 hours, 26 minutes, the Cardinals' shortest this season.