ST. LOUIS -- This time around, Shelby Miller battled for outs.
The St. Louis Cardinals rookie right-hander had trouble controlling his fastball, and finishing off hitters.
A pitch count headed for triple digits in the sixth inning was the only battle he lost.
The 22-year-old Miller followed up his nearly perfect one-hitter with 5 2/3 scoreless innings, and the Cardinals scored the go-ahead run in the seventh on a wild pitch in a 4-2 victory Wednesday night.
"It's not always going to be smooth," said Miller, who threw 96 pitches. "I got away with some mistakes. We won the game, so that's all that matters."
Rick Ankiel's two-run homer off rookie Seth Maness (3-0) tied it in the top of the seventh and was his first against the team that converted the former left-handed pitcher to an outfielder in 2005. Ankiel has 75 career homers, including six this year.
"It's unfortunate we didn't win but for me it's a positive, so I'm happy about it," Ankiel said. "For me it was just fun to do because it was against that team."
Shaun Marcum (0-4) made it out of the fifth for the first time in four starts since beginning the year on the 15-day disabled list and singled twice for his first career multihit game.
"I'm still not where I want to be," said Marcum, who visited a chiropractor in St. Louis the day before his start. "The important thing is the team, and we lost, so it doesn't matter what I did on the mound."
"Didn't even swing," said Wigginton, who ended up getting intentionally walked. "I just watched it slide by."
Jon Jay and Tony Cruz had an RBI apiece in the fourth and pinch hitter Yadier Molina added a pinch-hit RBI single in the eighth for the Cardinals, who have won 12 of 14 and handed the Mets their sixth straight loss.
Rice bounced a 1-0 pitch past catcher John Buck. The lefty took the loss his previous two appearances, including the series opener when Wigginton scored from second on Matt Carpenter's infield hit off Rice's leg.
Miller labored five days after retiring the final 27 batters with 13 strikeouts in a one-hitter over Colorado and as in some earlier starts had trouble finishing off hitters.
Buck coaxed a 12-pitch walk on a full count, fouling off six pitches after the count was 2-2.
"It's not like he's erratic and not efficient," manager Mike Matheny said. "He's challenging guys and they're getting a piece of it."
On Wednesday, he allowed four hits, a walk and a hit batter to lower his ERA to a major-league leading 1.40. Miller had three of his six strikeouts in the first when David Wright bounced a two-out single up the middle to end the streak at 29 in a row and then stole second before Ike Davis fanned to end the inning.
Marcum entered with an 8.59 ERA after getting a late start due to biceps tendinitis and has lost four consecutive decisions for the first time in his career. He retired the side in order on just eight pitches followed by a 10-pitch second, and retired 10 of the first 11 hitters.
Miller went to a full count for the fourth time in six hitters before walking Buck with one out in the second, and Ankiel fisted a bloop single to shallow center. But Buck ran the Mets out of the inning when he was easily doubled off second on Ruben Tejada's liner to center.
Cruz made just his second start of the season and first since April 19 at the backup catcher behind Molina, who was 0 for 11 the previous three games. Molina called Miller's gem on Friday, in which the 22-year-old right-hander allowed a leadoff single to Eric Young and then retired the final 27.
The Cardinals had one hit and one runner in scoring position the first three innings against Marcum before breaking through with three hits and a botched rundown play to take a 2-0 lead in the fourth.
The Mets allowed a run and cut off the relay after Jay's two-out RBI double to the gap in right-center. Jay was marooned between bases when Wright charged hard from third to make the tag and the ball bounced out of his glove.
Jay ended up at third and scored on a single by Cruz.
Edward Mujica worked the ninth for his 11th save.
Miller had a major-league best 1.39 ERA his first eight career starts, counting one in 2012, bettering Milo Candini's 1.09 ERA in 1943 for the Washington Senators. It's the Cardinals' best, topping Howie Pollet's 2.09 start in 1941. . ... Marlon Byrd homered and doubled Tuesday for his first multihit game since Aug. 7, 2011, with the Cubs against Cincinnati. ... Rookie John Gast was the first Cardinals' lefty starter to make his debut as a starter since Ankiel broke in at age 20 in August 1999 and the first to win in his debut since Allen Watson beat the Braves on July 8, 1993.