John Lackey pitches to get balls in play, allowing his defense to do the work for him.

They sure did Wednesday night against Arizona, just as they have throughout this series in the desert.

Lackey pitched seven strong innings and St. Louis' defense was stellar behind him, leading the Cardinals to a 3-1 victory over the Diamondbacks.

"We played great defense for sure today," said Lackey, who allowed a run and seven hits and struck out four. "A lot of balls in play, some tough plays and (got some) double plays, great plays in the outfield. We played absolutely great defense today."

Lackey (11-8) bounced back from a shaky start, giving up a solo homer to Paul Goldschmidt in the first inning and little else.

His defense played a big role in it, turning three doubles plays to push their total to eight in the series.

Second baseman Kolten Wong had two stellar stops, including one to start an inning-ending double play in the fifth. Centerfielder Tommy Pham also robbed Aaron Hill of extra bases in the fourth inning by diving to snare a line drive in the gap.

Trevor Rosenthal worked around a walk in the ninth for his 40th save for the Cardinals, who moved to 36 games over .500 (81-45), their highest since finishing the 2005 season plus-38. St. Louis has won seven straight and 12 of 13 against Arizona.

"We had a couple real nice plays today, good positioning, guys being in the right place at the right time," Cardinals manager Mike Matheny said. "But overall, John made the pitches when he had to."

The Cardinals scored four first-inning runs off Robbie Ray on Tuesday, but had to wait a little longer with Patrick Corbin limiting them to Mark Reynolds' homer in six innings.

St. Louis quickly took advantage after Corbin left, scoring twice off David Hernandez (1-4) in the seventh. Wong had an RBI double and Matt Carpenter a run-scoring single in the inning, enough to send the Diamondbacks to their third straight loss since a four-game winning streak.

"They (the Cardinals) are playing well, but they're making plays," Diamondbacks manager Chip Hale said. "They're making the plays they're supposed to make. They're playing like a good major league team, which they are."

Lackey had a streak of 12 straight quality starts snapped his last time out, allowing five runs and nine hits in six innings of a loss to San Diego.

The right-hander was back on track against the Diamondbacks, getting them to chase breaking balls out of the strike zone for most of the game.

Goldschmidt got a good piece of a ball in the strike zone in the first inning, hitting a 471-foot solo homer, his 25th of the season. It was the 108th of his career, matching Justin Upton for fifth on Arizona's all-time list.

Lackey limited the damage after that with some defensive help from his teammates, allowing two runs or less for the 11th time in 13 starts.

"You've got to pound the strike zone early on to establish things later on," Lackey said. "It's kind of risk-reward; you try to get guys to put balls in place and sometimes they get hits."

Corbin lasted six outs his last start, allowing four runs and eight hits against Cincinnati in a no-decision.

The left-hander was sharp against the Cardinals, giving up two hits — one by Lackey — until Reynolds lined a solo homer over the wall in left in the fifth inning. The homer, which tied the game 1-all, was Reynolds' 11th of the season.

Corbin allowed the run and three hits and struck out seven in his 10th start since returning from Tommy John surgery.

"It was good to go out there and pitch deep in a ballgame," Corbin said. "A little off first pitch and not getting ahead, (but) when I threw some strikes and was able to locate, everything was working today."

More From KHMO-AM 1070, News-Talk-Sports