Updated

Shelby Miller tossed six solid innings to lead the St. Louis Cardinals in a 4-1 win over the Philadelphia Phillies in the opener of a three-game set.

Miller (10-6) gave up just three hits and a walk with six strikeouts for the Cardinals, who have won four of their last five games. Allen Craig went 2-for-3 with two RBI and a run scored.

"He had great fastball command out there tonight," said St. Louis manager Mike Matheny about Miller. "He threw some great breaking balls early in the count and his changeup was the best it looked all season."

John Mayberry drove in the only run of the game for the Phillies, who have dropped three straight. Jonathan Pettibone (5-4) was touched for three runs on seven hits in five innings to take the loss.

"I ran into trouble with some balls up in the zone," said Pettibone. "But there were some positives tonight and I just want to build off that and look forward to my next start."

The Cardinals pushed a run across in the first on a Craig fielder's choice that plated Matt Carpenter.

In the fourth, Craig led off with a double and came home when Yadier Molina followed with a two-bagger of his own. David Freese's single later in the frame made it 3-0.

The Phillies didn't get a runner to third base until the third inning, and got their first run of the game in the seventh as Darin Ruf singled with two outs and Mayberry followed with a double.

St. Louis got it back, though, in the home seventh as Carlos Beltran hit a one-out triple just past a diving Domonic Brown in left field, and Craig brought him home with a single off Justin De Fratus.

Edward Mujica gave up a pair of hits in the ninth, but struck out Ruf and got Mayberry to pop out for his 29th save of the season.

Game Notes

The Cardinals have won three of five from the Phillies this season ... The Phillies were 0-for-6 with runners in scoring position and left six on base ... St. Louis batted 4-for-14 with RISP and stranded 10.