ST. LOUIS -- Scott Rolen had one of those do-it-all games, capping St. Louis' comeback effort on offense after making a spectacular defensive play.
Juan Encarnacion and Rolen hit consecutive RBI doubles in the eighth inning and Rolen threw out Scott Hairston from his knees on a ball down the third-base line in the Cardinals' 5-4 victory over the Arizona Diamondbacks on Wednesday.
"Oh man, that's all-time highlight material," manager Tony La Russa said of the third basemen's defensive gem. "That was vintage Scott. He's world class."
The play by the seven-time Gold Glove winner was more impressive than the go-ahead hit, which dropped in after ticking off the glove of right fielder Eric Byrnes' unsuccessful sliding attempt. Diamondbacks manager Bob Melvin called it a "dropped ball" and said Byrnes may have lost it in the lights.
"It's really not that difficult of a play," Byrnes said. "I expect to make that play every time. It cost us the game, it's my fault."
The Cardinals were 0-for-7 with runners in scoring position before Rolen's go-ahead hit. Rolen joked that if Byrnes had made the catch "it would have shattered my night."
"I'd actually have been all right," Rolen said. "But it's better this way."
Starting pitcher Livan Hernandez and Miguel Montero each hit a two-run homer off Brad Thompson for Arizona, which has five homers in the last two games but has lost four of five.
Chris Duncan and Brendan Ryan hit solo homers in the seventh for the Cardinals to shave a three-run deficit to one, with Duncan's 16th of the season tying Albert Pujols for the team lead.
Pujols singled to start the eighth and scored the tying run on Encarnacion's double off Brandon Lyon (5-3). Encarnacion scored easily on Rolen's hit. Lyon allowed a three-run triple to Rolen in the eighth inning of the Cardinals' 11-3 victory Monday.
Ryan Franklin (3-0) worked around two singles in the eighth, getting Chad Tracy to ground into a double play and striking out Mark Reynolds. Jason Isringhausen pitched the ninth for his 16th save in 18 chances.
Isringhausen gave up a leadoff double to Stephen Drew, then struck out pinch-hitter Augie Ojeda, Montero and pinch-hitter Tony Clark. He has allowed one run and six hits in 17 innings at home.
"Thanks, now you've done it," Isringhausen told a reporter who mentioned the statistic. "I don't make anything of it, I just go about it the same way I do on the road.
"I've made better pitches here when I had to."
Hernandez allowed three runs and 10 hits in seven innings, frequently dodging trouble with off-speed pitches, but remained winless since May 27. In six June starts he was 0-3 with a 6.69 ERA.
The Cardinals had at least two baserunners in five innings against Hernandez, but Yadier Molina hit into a double play in the second, Adam Kennedy was caught stealing in the third and left fielder Scott Hairston's diving catch on Ryan Ludwick's sinking liner with two on ended the fifth.
Pinch-hitter Skip Schumaker singled after Ryan's homer and advanced on a wild pitch but was stranded when Kennedy flied out and Ludwick struck out.
Hernandez gave himself a cushion with his first homer of the season, a two-run shot with two outs in the seventh that put the Diamondbacks ahead 4-1. Hernandez, who lined Thompson's first pitch into the left-field stands, homered for the first time since April 19, 2006, at Philadelphia.
"He pitched great," Melvin said. "More than anything, if we execute it's a whole different game."
Thompson worked seven innings, giving up four runs and seven hits.
The Cardinals are 4-39 when trailing after seven innings and the Diamondbacks are 38-3 when leading after seven. ... St. Louis has an eight-game winning streak on July 4. ... Reynolds, the Diamondbacks' third baseman, came close to matching Rolen's defensive play in the fourth, fielding Rolen's grounder in the hole and throwing him out from his knees. ... Molina has thrown out eight of 14 after catching Byrnes stealing in the fourth. ... Encarnacion, who entered the game a .385 career hitter against Hernandez, was 0-for-3 against him and didn't get the ball out of the infield.