SAN DIEGO -- Adam LaRoche was impressed with how a couple of young teammates helped the Pirates overcome three big injuries.
"We could have gotten squeezed if some of these guys didn't just jump right in there and produce," LaRoche said.
In the last week, the Pirates have lost two starters to the 15-day disabled list -- catcher Ryan Doumit (right wrist) and shortstop Jack Wilson (sprained left middle finger). In addition, starting center fielder Nate McLouth has missed three straight games with a strained side muscle.
Diaz played for Doumit and Bixler was in for Wilson as Pittsburgh won for the fifth time in six games.
"Guys realize where we are at losing [players]," Pittsburgh manager John Russell said. "We had some guys step up. The bench has done a great job and guys are picking each other up."
Ohlendorf (2-2) did his part after allowing a long two-run homer to Adrian Gonzalez in the first inning. The right-hander settled down, allowing only two more hits over the next six innings before Edgar Gonzalez knocked him out of the game with a pinch-hit homer leading off the eighth.
"I knew I was throwing the ball well in the first inning," said Ohlendorf. "Other than [the home run], I felt good. After that, I was able to get a lot of groundballs with my sinker."
After the first, the only hits Ohlendorf allowed over the next six innings were a pinch-hit double to Drew Macias in the fifth and a sixth-inning single to Adrian Gonzalez.
"Once he got going, he was very effective," Russell said. "That's what he capable of doing."
Ohlendorf walked three, hit a batter and struck out two as he pitched into the eighth inning for the first time in nine career starts.
LaRoche hit a three-run shot off Jake Peavy (2-3) that broke a 2-all tie in the fifth. He later added a solo homer in the ninth off rookie Luis Perdomo for his fifth home run. LaRoche also walked twice and scored two runs.
"I've never seen Peavy pitch like that," LaRoche said. "I've never seen him pick and nibble at the corners the way he did. He got in trouble. I've seen him really dominant, especially with his fastball. Today he threw his slider a lot and he fell behind quite a bit."
Gonzalez put San Diego ahead 2-0 when he hit his seventh homer an estimated 458 feet to center field, the longest home run in Petco Park's six seasons.
Diaz made his second major league start and had a two-run single that tied the score in the fourth inning. Bixler, who was recalled earlier in the day from the minors to replace Wilson, added a two-run double in the eighth.
Peavy gave up five runs on six hits in five innings. The right-hander walked four and struck out six. The five earned runs were the most Peavy allowed since back-to-back outings in July 2006 when he gave up seven runs -- five earned -- in each start.
"This is as frustrating as it gets," Peavy said. "We have to come in today with a better effort and that starts with me."
The Padres have lost five of their last six games.
"When Jake walks four guys in five innings, that's maybe a sign that he wasn't as sharp as he normally is," San Diego manager Bud Black said. "They had some good at-bats against him. LaRoche, that obviously was a big blow."
LaRoche has hit two home runs in a game 10 times in his career.
Pittsburgh (11-7) went four games over .500 for the first time since April 30, 2002. ... Edgar Gonzalez's pinch-hit homer was the second of his career. The other came on Sept. 11, 2008, against San Francisco. His brother, Adrian, also homered in the game. ... Padres SS Luis Rodriguez was back at Petco Park after being taken to a hospital before Saturday's game against the Pirates because of an allergic reaction he had to something he ate. Rodriguez, however, was not in uniform. ... Pittsburgh placed Wilson on the 15-day DL before the game. Bixler was recalled from Triple-A Indianapolis.