The win lifted St. Louis back into the No. 1 spot in a topsy-turvy National League Central Division, where it now leads Cincinnati by a half-game after the Reds lost, 9-6, to Philadelphia.
Arizona committed two errors in the ninth inning of Monday's loss, but the suspense in the middle game was taken away quickly as Pujols belted two-run homers in the third and fifth innings.
Adam Wainwright (11-5) struck out seven batters in 6 1/3 shutout innings. The right-hander allowed five hits and walked three, but moved to 8-0 this season at Busch Stadium.
Felipe Lopez went 4-for-5 with three runs scored for the Cardinals.
Pujols tied Stan Musial for the Cardinals record with 37 career multi-homer games.
Dontrelle Willis (1-1) surrendered seven hits and five runs over four-plus innings for Arizona, which lost for the 18th time in its last 21 road games.
Suppan, who turned 35 in January, makes his fourth start since returning to the team with which he starred en route to a 2006 World Series title.
The Oklahoma City native left for Milwaukee after that season, however, and struggled to just 29 wins in 110 outings with the Brewers before rejoining the Cardinals with a four-inning outing on June 15 against Seattle.
In three assignments thus far with St. Louis, Suppan has allowed 18 hits and six runs in 13 2/3 innings, picking up a loss and a pair of no-decisions.
Arizona replies with 24-year-old righty Barry Enright, a second-round draft pick in 2007 who'll make his major-league debut.
The 6-foot-3, 220-pound product of Pepperdine University had been pitching at Double-A Mobile, where he posted a 2.88 ERA in 93 2/3 innings while walking 15 batters and striking out 83.
He's also a threat with the bat after hitting .356 in 68 plate appearances, with a .406 on-base percentage and .546 slugging percentage, at Mobile.
The Diamondbacks are just 12-30 on the road, while the Cardinals have won 25 of 37 home games.
Arizona and St. Louis split six meetings prior to this series.