Capps, the Pirates' closer, threw an 0-and-1 slider to Scott Hairston with two out and two on in the bottom of the ninth inning with the Bucs leading, 3-2.
With one swing of the bat, Hairston hit a three-run homer into the left-field bleachers that gave the San Diego Padres a dramatic 5-3 victory Wednesday night at PETCO Park.
The win was the sixth in a row for the Padres, while the Pirates dropped their fifth straight.
"It just wasn't the right pitch," said Capps. "I went against every instinct I've ever had, and I got beat with something that wasn't my best pitch. That's the hard part. I kind of think I beat myself tonight, and I kind of let everyone in here down by going against any instincts I've ever had. I threw a slider in that situation, but tip your hat to him, it wasn't a bad pitch. He just barreled it and hit it in the right place."
Pirates manger Jim Tracy agreed.
"I didn't see the replay, but from my vantage point it looked like Scott Hairston hit a pretty good pitch," said Tracy. "It looked like he went down and got a slider. It certainly wasn't a hanger. It didn't appear to be that from my vantage point. Give him credit -- he hit the ball out of the ballpark."
Just an inning earlier, Capps had come on with the tying run on third and struck out Terrmel Sledge to end the eighth.
However, in the ninth Capps gave up a booming one-out double to Adrian Gonzalez. Capps came back and got Khalil Greene on a flyout, but wound up walking Kevin Kouzmanoff, who fouled off some terrific pitches.
That set the stage for Hairston.
The home run was the first allowed by Capps in his last 18 games.
Lost in the shuffle was an outstanding pitching performance by Pittsburgh's Ian Snell and a terrific all-around game by Pirates center fielder Nyjer Morgan.
Snell pitched superbly for seven innings, allowing two runs, one earned, on just four hits. He struck out five and walked two.
"Ian did a terrific job," said Tracy. "He got beyond the first inning [giving up two runs], and when he starts getting that breaking stuff over the plate to go along with that fastball, which he did, he's normally going to go on the type of roll that he did in the next six innings. He was just ran out of gas."
"My arm was kind of sore, I've never pitched so much before," said Snell. "I just wanted to get seven strong and help the team win today. We just had the bad luck to run into a good team.
"They are a fastball hitting team, and you have to work off your offspeed [stuff] and set them up for the fastball," said Snell.
Morgan, who led the game off with a triple for the Pirates and scored, was on base three straight times, scored two runs and stole two bases. He also threw out Hairston, who attempted to stretch a single into a double leading off the fifth inning.
Nate McLouth drove in two runs, the first with a sacrifice fly in the first and then a double in the third inning, when the Pirates grabbed their 3-2 lead.
Padres starter Chris Young also got a no-decision, going six innings, allowing three runs on five hits.
The Padres got strong relief efforts from Joe Thatcher, who threw two scoreless innings, and Cla Meredith, who tossed a perfect ninth and picked up the victory, improving his record to 5-6.
Sandy Burgin is a contributor to MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.