ST. LOUIS — Eric Stults threw a career-high 124 pitches, finessing his way through a tough lineup after a pregame strategy session emphasized avoiding big innings.

One bad inning was enough to beat the San Diego Padres lefty.

The St. Louis Cardinals did all of their scoring in the third to back Adam Wainwright's NL-leading 13th win in a 3-2 victory on Sunday that ended with Allen Craig's leaping catch at the wall on pinch-hitter Jedd Gyorko's bid for the go-ahead hit.

"When they get guys on base, they get up there and they want to swing early," Stults said. "That third inning got away a little bit."

Stults (8-8) fell short in a bid to win three straight starts for the first time in his career. He allowed three runs and eight hits in six innings, stranding two runners in the second and fifth.

"He ran into some longer innings but he did his thing. He kept us in the game," Padres manager Bud Black said. "Gave up the three-spot and five zeros against a very good offensive club. We just fell short."

The first four Cardinals reached in the third inning that was capped by David Freese's two-run double. Center fielder Alexi Amarista missed catching the drive on a diving attempt, and the ball went to the wall, but Freese was thrown out at third on strong relays from right fielder Will Venable and Cabrera.

The Cardinals had just one more runner in scoring position the rest of the way.

Stults said Freese jumped on a first-pitch changeup that he left up in the zone.

"I was trying to get ahead of him," Stults said. "If I throw that ball down, it's probably a ground ball."

Yonder Alonso singled three times with an RBI for the Padres. They had runners at second and third in the ninth after pinch hitter Jesus Guzman's ground-rule double. Black thought Amarista would have scored from first if the ball hadn't bounced into the stands.

"I was hoping that maybe a fan reached out and touched it but I guess it hopped in the stands," Black said. "A bad break."

Then Gyorko's drive came up just short.

"Right off the bat, I thought positive thoughts," Black said. "It looked as though it had a chance but the more Craig was backing up, my thoughts went the other way."

Craig has 12 hits and six RBIs during a seven-game hitting streak for the Cardinals, who took two of three in both series against the Padres this season. The St. Louis defense turned three double plays behind Wainwright (13-5), who allowed two runs. He struck out seven and walked two.

Craig's catch preserved Edward Mujica's 28th save in 30 chances. The Cardinals have won nine of 12 and have the majors' best record. The Padres have lost 19 of 24.

Wainwright matched his season high for walks after entering with a NL-low 15 in 146 2-3 innings, but is 3-1 in his two-walk games. He had only one perfect inning but got key outs with breaking balls and struck out Everth Cabrera with a man on third to end the seventh.

He entered with a 1.34 career ERA against the Padres.

Matt Carpenter opened the third with a double off the base of the wall in right-center for his second straight hit. He leads the majors with 39 multi-hit games.

Cabrera led off the game with an opposite-field double and scored on Alonso's two-out hit. The Padres cut the deficit to a run in the sixth on a double by Carlos Quentin, another Alonso hit and a double-play ball.

Notes: Thousands lined up outside Busch Stadium several hours before game time for Stan Musial replica statues. The near sellout of 44,033 was the Cardinals' 14th straight crowd of at least 43,000. ... Carpenter leads the NL with 31 doubles. ... St. Louis OF Carlos Beltran got a day off due to general soreness, although he told manager Mike Matheny he could play. ... The Cardinals have a day off before rookie Shelby Miller (9-6, 2.92) makes his first start after a 12-day break against the Phillies on Tuesday. Andrew Cashner (5-5, 3.81) pitches for San Diego in the opener of a four-game set in Milwaukee. ... Padres outfielders made a pair of outstanding plays. Venable's sliding catch left a long skid mark in foul territory in the fourth, and LF Quentin snatched Craig's liner at shoe-top level to end the seventh. ... Stults threw a season-high 124 pitches.