ST. LOUIS -- Even Adam Wainwright paused to admire the longest home run by a visiting player at seven-year-old Busch Stadium.
"I went, 'Whoa, that's way out!' " Wainwright said. "I literally said that out loud because he just mashed it."
Wainwright (11-10) and three relievers were stingy against the Arizona Diamondbacks the rest of the way, combining on a five-hitter in a 5-2 victory Wednesday night.
"It was typical Wainwright," Diamondbacks manager Kirk Gibson said. "He expands the zone. You look at him, and he gets behind and he's throwing secondary pitches making good pitches.
"He did a good job of managing his bad counts."
Both Wainwright and Cardinals manager Mike Matheny thought he had far from his best stuff.
"I wasn't as sharp as I have been lately, but you battle through and make pitches," Wainwright said. "I didn't miss over the plate too many times."
St. Louis homered twice for the second straight game and will go for a sweep of the three-game series behind 12-game winner Kyle Lohse on Thursday night.
The Cardinals are 5-0 against the Diamondbacks this year and have won seven straight in the series dating to last year. They have won eight of 12 overall and pulled into a second-place tie with Pittsburgh in the National League Central before starting a three-game series at home against the Pirates this weekend.
"We caught the Pirates tonight?" closer Jason Motte joked, then referenced the Cardinals' climb from 10 1/2 games back for the NL wild card late last August en route to a World Series title.
"If anyone knows, we know a lot of stuff can happen in a month and a half," Motte said. "We've got to come out tomorrow ready to go, ready to handle business."
Wainwright (11-10) was 0-3 in April before starting to regain his form. He's 4-0 with a 2.04 ERA in his past five starts, and his record is above .500 for the first time.
The Diamondbacks had four singles otherwise and are 3-44 when they score three or fewer.
"If you just look at the numbers, we have to score three or more to even have a chance," Gibson said.
Joe Saunders (6-9) allowed five runs in six innings, the first time the lefty gave up more than three runs in 11 road starts. He entered with a 2.49 road ERA, fourth-best in the league.
Saunders worked the sixth with a swollen pitching thumb after deflecting Holliday's comeback grounder on the last out of the fifth. He left the mound shaking his hand in pain.
"Hindsight, I probably shouldn't have gone back out there," Saunders said. "My stubborn (rear end). I won't come out of the game.
"I just didn't have my best stuff there in the sixth. I tried to pitch through it."
The Diamondbacks (58-59) have lost eight of 11 and dropped below .500 for the first time since they were 49-50 on July 26.
"It's been frustrating. We've played some games we could have won and we're not taking advantage of that right now," Chris Johnson said after going 0-for-3. "We just need to relax, stay calm, and I think we'll be all right."
Freese ended a 0-for-20 slump with his 16th homer after Carlos Beltran doubled with two outs in the fourth to put the Cardinals up 2-1.
"I had an approach, and it worked out," Freese said. "I'll be honest, it felt good for sure."
Craig hit his 18th to right-center in the fifth, and the Cardinals got three straight hits from the bottom of the order capped by Furcal's liner into the right-field corner in the sixth.
Furcal was moved to the bottom of the lineup last week while battling back issues and a slump. He also doubled in the third for his first mulitihit game since July 24.
Cardinals C Yadier Molina was out with mid-back tightness and thought prior to the game that he might miss a few games. ... Saunders is 3-8 with a 5.38 ERA in 17 career starts against the NL Central, including 2-3 this year. ... Lohse (12-2, 2.72 ERA) has won six straight decisions over nine starts. Trevor Cahill (9-10) seeks his 50th career victory for Arizona. ... Miguel Montero singled his first two trips and is batting .369 (24-for-65) his past 19 games against the Cardinals.