Andrew McCutchen had a rare embarrassing moment.

The Pittsburgh Pirates center fielder stood frozen during the second inning while Matt Holliday's line drive sailed over his head and rolled to the fence for a double. Holliday then scored the game's first run on Skip Schumaker's single.

"It didn't sound like it was hit that well off the bat and it wound up going 15 feet over my head," McCutchen said. "It was pretty embarrassing running after that ball."

McCutchen more atoned for his mistakes with a three-run home run and a pivotal run-saving catch to end the top of the 11th inning.

Garrett Jones then homered to lead off the bottom of the 11th and lift the Pirates to a 5-4 victory over the St. Louis Cardinals on Tuesday night.

The win was just the Pirates fifth in 21 games since falling out of first place in the NL Central and they trail first-place Milwaukee by 13 games. The Cardinals fell a season-worst seven games behind the Brewers.

Jones' blast came on a 2-2 curveball from Arthur Rhodes (3-4) for his 14th home run. The homer was estimated to be 440 feet as it carried over the right-field stands and bounced on one hop off a walkway and into the Allegheny River.

It was Jones' second career game-ending homer as he connected against San Francisco's Bob Howry on July 17, 2009. It was also just his second home run in 51 at-bats against left-handed pitching this season.

"Arthur Rhodes is always tough on lefties and I was just hoping I could get on base against him to start the inning," Jones said. "I was lucky that he hung a curveball there."

While Jones hit a mammoth homer, McCutchen's catch in the top of the 11th was just as impressive as he sprinted into the left-center field gap and made a backhanded grab of Albert Pujols' drive for the final out. Rafael Furcal was running from first base on the pitch and would have likely score easily if the ball got past McCutchen.

"I was watching from first base and it was like watching a deer with the way Andrew went running toward the gap," Jones said.

While the Pirates' clubhouse was buzzing about the catch, McCutchen wasn't that impressed.

"It wasn't even a top 10 play," he said. "I didn't have to dive. I didn't even get dirty."

Chris Resop (4-4) pitched two scoreless innings for the win.

Pittsburgh tied the game in the ninth when Neil Walker homered on the first pitch from closer Fernando Salas, a rookie who blew his fourth save in 27 opportunities. Walker, who has 10 homers, had not connected at home since June 5.

"I'm just looking to get on base there," Walker said. "I thought I'd hit it well enough for a double but it went out of the yard. It's always a good feeling to leave the yard but even better in that situation."

St. Louis had gone ahead in the top of the ninth on Holliday's sacrifice fly off closer Joel Hanrahan, snapping his streak of 15 consecutive scoreless innings.

Jay led off the ninth with a double down the left-field line and was bunted to third by Furcal. Pujols was intentionally walked for the second straight plate appearance so Hanrahan could face Holliday, who briefly put the Cardinals ahead with his sacrifice fly.

Pujols reached 30 home runs for the 11th consecutive season when he connected in the sixth inning. The NL home runs leader is the first player in the major-league history to hit 30 homers in each of his first 11 seasons.

Pujols' 28 career home runs at PNC Park are his most at any visiting stadium.

"Those are just numbers. They just reflect how great he is," Cardinals manager Tony La Russa said. "But he is great. He's a real weapon. I can guarantee you, though, he's not happy right now because we lost."

Cardinals starter Chris Carpenter struck out 10 in seven innings, allowing three runs on five hits with one walk.

Walker had three hits for the Pirates, McCutchen blasted a three-run home run and had two hits and Jose Tabata had two hits in his first game since strained his left quadriceps on June 26. Jones also had two hits.

David Freese had three hits for the Cardinals and Jay added two.

Pittsburgh starter Jeff Karstens allowed three runs and six hits in 5 1-3 innings. He walked two and struck out five.

The Cardinals tied the score at 3-3 with a two-run sixth inning that chased Karstens.

Pujols led off the inning with his home run into the right-field stands. Lance Berkman singled one out later and scored on Freese's double to right.

McCutchen's home run down the right-field line in the third off Carpenter put Pittsburgh ahead 3-1. The two-out drive came after Karstens walked and Tabata singled.

"It's funny how baseball works," McCutchen said. "I messed up one play about as badly as I could mess it up but in the same game I came back and hit a home run and made a big catch."

Notes: Tabata was activated from the 15-day DL before the game and the Pirates optioned 3B Pedro Alvarez to Class AAA Indianapolis. Furcal and Jay flip-flopped places in the batting order with Jay hitting leadoff and Furcal hitting No. 2, a move La Russa hopes will help the Cardinals cut down on hitting into double plays. They lead the NL with 132. Pirates RHP Evan Meek, on the DL since June 8 with shoulder tendinits, is scheduled to throw a simulated game Thursday at the Pirates' training facility in Bradenton, Fla. If that goes well, he will begin a rehab assignment with Class A Bradenton next Monday. Cardinals RHP Kyle Lohse (10-7, 3.37) will start against LHP Paul Maholm (6-13, 3.60) on Wednesday in the finale of the three-game series. Lohse is 5-2 lifetime against Pittsburgh. Maholm has lost his last four decisions and Pujols is 21-for-36 (.583) against him with seven doubles and two home runs.