Updated

Shelby Miller outdueled Wily Peralta and the St. Louis Cardinals edged the Milwaukee Brewers, 4-2, in the opener of a three-game set at Busch Stadium.

Miller (13-9) allowed five hits and two walks while striking out four over 6 2/3 scoreless innings.

"The first time we saw him, he just threw high fastballs and blew us away. He's really pitching now," Milwaukee manager Ron Roenicke said.

Peralta (9-15) carried a no-hitter into the sixth before giving up a two-run homer to Matt Holliday. Peralta lasted 6 2/3 innings, allowing three runs in total on just two hits while striking out seven.

Matt Carpenter went 1-for-3 with an RBI and a run scored for the Cardinals, who hold a one-game lead over the Pittsburgh Pirates atop the NL Central standings.

"We know what's at stake," Miller said. "We're watching the other teams, we're keeping up with it all. I think it makes it more fun for us."

Logan Schafer hit a two-run pinch-hit homer and Scooter Gennett had two hits and a run scored for the Brewers.

St. Louis took the lead in the sixth on Holliday's blast. Carpenter walked, and after Jon Jay flew out, Holliday smashed a first-pitch fastball into the seats in left-center field.

Carpenter singled home Matt Adams in the seventh, and Adams singled home Adron Chambers in the eighth to make it 4-0.

Schafer stroked his two-run homer with one out in the ninth, but Edward Mujica retired the final two hitters to seal the win.

Game Notes

Holliday has 19 homers this season ... The Cardinals went 3-for-7 with runners in scoring position ... Carpenter has 113 runs scored and 70 RBI this season ... Peralta has dropped five of his last six decisions ... The Brewers had won two straight entering the contest.