ST. LOUIS -- It looked more like the old Adam Wainwright on Sunday, not an old Adam Wainwright.
That can only be good news for a St. Louis Cardinals team that seems to be hitting its stride.
Wainwright (3-3), who failed to make it out of the sixth inning in six of his first seven starts this year, allowed just four hits, walking four and striking out three.
Although Wainwright threw just 56 strikes out of 102 pitches, he mustered enough downward movement on his offerings to attract 13 outs via grounders, including double plays after Chicago put leadoff men aboard in the third and fourth.
"Any time you see nothing but zeros on the board, that's what a pitcher is aiming for," Wainwright said. "It's a good outing to build off, and I can get better. I can have better fastball command, but this is a step in the right direction."
Entering the game with a 6.37 ERA, the 35-year-old Wainwright had permitted an opponents' batting average of .353. But after worming out of a two-on, one-out jam in the first inning by fanning Miguel Montero for the third out, Wainwright allowed only one runner to reach third in his final six innings.
"We let him up in the first inning," Cubs manager Joe Maddon said of Wainwright. "That was really the big thing, I think. He kept getting better as the game progressed, I think."
While Wainwright improved, Chicago starter Jake Arrieta (4-3) continued his early-season struggles, losing for just the third time in 11 career decisions against St. Louis. Arrieta entered the day with an ERA of 1.71 against the Cardinals but was victimized by a pair of two-run homers.
Yadier Molina blistered a two-run shot to left, a pitch after Jedd Gyorko led off the second inning with a single. The 410-foot blast left Molina's bat at nearly 106 mph, giving Wainwright all the offense he needed.
An inning later, Matt Carpenter doubled Wainwright's cushion while finally breaking through against his old TCU teammate. Arrieta had retired Carpenter in 28 consecutive regular-season at-bats before facing him with one out and Kolten Wong at first.
A 1-0 pitch from Arrieta caught too much of the plate. Carpenter's swing produced a towering 414-foot shot to right center field, his eighth homer of the year. It validated manager Mike Matheny's decision to start him at first instead of Matt Adams, who is 7-for-22 (.318) against Arrieta in his career.
"Stubbornness," a grinning Matheny said of starting Carpenter.
"Some guys have your number, and he's been one of them," Carpenter said of Arrieta. "It was nice to get one against him."
Arrieta said, "I'm sure he's been waiting to get off the schneid against me for a while, and he was able to do it in a nice way for his ballclub. I wasn't a huge fan of it, but you know, that's the way it goes. You make a mistake, and every now and then they're going to make you pay for it."
Maddon said Arrieta had his best stuff of the year. But Arrieta still gave up seven hits and four runs in six innings, walking one and whiffing five as his ERA rose to 5.44.
Molina capped arguably St. Louis' crispest game of the year with a solo homer off reliever Brian Duensing in the eighth, notching his first two-homer game since Aug. 21, 2011, also against the Cubs.
Relievers Trevor Rosenthal and Kevin Siegrist polished off the Cardinals' second shutout of the year with 1-2-3 innings. It was the eighth win in nine games for St. Louis (21-15), which reached six games above .500 for the first time this year.
Meanwhile, Chicago (18-19) lost for the seventh time in nine games. The Cubs scored just six runs in the weekend series and have averaged only 3.3 runs during their skid.
NOTES: Chicago SS Addison Russell (right shoulder) returned to the starting lineup after a three-game absence, although he did pinch-hit on Friday night and Saturday. He went 1-for-4 on Sunday. ... Cubs 3B Kris Bryant (stomach bug) was out of the lineup for a third consecutive game, with Tommy La Stella taking his place and batting sixth. ... St. Louis 3B Jhonny Peralta (upper respiratory infection) moved his rehab assignment to Triple-A Memphis, where he went 1-for-3 with a walk. Peralta started rehabbing last week at Class A Palm Beach.