Updated

St. Louis, MO (SportsNetwork.com) - A near-flawless Adam Wainwright and lethal two-out hitting powered the St. Louis Cardinals to a 5-0 win over the Arizona Diamondbacks in the opener of a three-game series at Busch Stadium.

Wainwright (7-2) tossed the first one-hitter of his career, registering nine strikeouts and facing only one batter over the minimum. Paul Goldschmidt's two-out double in the fourth inning was the right-hander's lone blemish.

"That was fun to watch," said Cardinals manager Mike Matheny about Wainwright's performance. "He had a great feel for everything that he threw today."

Matt Adams and Jhonny Peralta each homered for St. Louis, which has won five of its last six games and scored all its runs with two outs against Arizona starter Bronson Arroyo (4-3).

"Well maybe (Arroyo) wasn't quite as sharp with the movement on his pitches or the location of his pitches, but you've got the Cardinals some credit, too. They played a good game tonight behind a very good pitcher," said Arizona manager Kirk Gibson.

The Diamondbacks were seeking a season high-tying third straight victory.

Arroyo had been on quite a roll, going 3-0 with a 0.91 ERA in his four previous outings. He found the third out to be elusive at times on Tuesday.

Adams followed Matt Holliday's two-out single in the first with a drive over the wall in right-center field.

The Cardinals extended their lead by scoring in three consecutive innings from the fourth. Peralta sandwiched Holliday's run-producing single with an RBI double and solo homer to left-center field.

Game Notes

Wainwright registered the eighth shutout and 18th complete game of his career ... Arroyo, pitching in his 400th career game, allowed nine hits and struck out six over seven innings ... Before the game, the Cardinals activated reliever Jason Motte from the 15-day disabled list. Motte was recovering from Tommy John surgery performed last May ... Home plate umpire Brian O'Nora left the game due to illness prior to the start of the fourth inning. Second-base umpire Marvin Hudson moved behind the plate.