PITTSBURGH -- The Pittsburgh Pirates didn't let a poor starting pitching performance prevent them from snapping a couple of long losing streaks.
Neil Walker had three hits, drove in two runs and scored three times, and the Pirates ended a seven-game skid with a 12-6 win over the Houston Astros on Saturday night.
Jose Tabata and Lastings Milledge each had two hits and two RBI as every Pittsburgh position player except for leadoff hitter Andrew McCutchen had at least one RBI. The Pirates beat Houston for the first time in eight meetings this season.
"It was a good win for us," Pirates manager John Russell said. "One we needed, and kind of one that we needed to do it the way we did it."
Brendan Donnelly, Evan Meek, Joel Hanrahan and Octavio Dotel finished the game by each throwing a perfect inning of relief to cover for starter Ross Ohlendorf, who retired only four batters in throwing 46 pitches. Ohlendorf was charged with four runs on five hits and two walks.
"Nothing was really working that well during the second [inning]," Ohlendorf said. "I wasn't locating my fastball well, but our offense and the bullpen did an outstanding job."
The Pirates took the lead for good in the fifth with four consecutive two-out singles -- the latter two, from Ronny Cedeno and pinch-hitter Ryan Church, led to two runs to make it 7-6. The Pirates added two more runs in the sixth and three in the eighth.
"It was a little bit tough for Ohlendorf, but his friends [in the bullpen] picked him up, and we all picked him up," said Milledge, who also had a leaping catch against the wall in right-center. "That's what you like to see."
The game, matching two of the National League's worst teams, featured four lead changes and 12 pitchers.
Hunter Pence hit his 13th home run and Michael Bourn had a two-run double during a four-run second inning for the Astros, who had won five of their previous seven.
"We kept battling back and then it just got too deep," Houston manager Brad Mills said. "They were able to get to their bullpen, and the last three guys in their bullpen are really tough."
The NL's worst team in terms of runs, hits and batting average, the Pirates had season highs in runs and hits (17).
Seven Pittsburgh players scored at least one run, and the Pirates had 10 hits with runners in scoring position. The previous time that happened was Aug. 9, 2005, at Colorado.
"It was great team effort tonight," Walker said. "You can tell everyone was a little more relaxed. Hitting is contagious, and fielding's contagious and pitching's contagious. And when all the things are running on the right cylinders and going in the right direction, it makes for a fun night like tonight was."
Pittsburgh's Javier Lopez (2-1) earned the victory despite allowing Chris Johnson's two-run double that gave the Astros their final lead in the top of the fifth.
Houston's Bud Norris (2-7) was charged with seven runs -- four earned -- on nine hits and two walks with four strikeouts in 4 2/3 innings.
"It's frustrating. My team gave me a lot of support to go out there and pitch five-plus and unfortunately, I couldn't get that last out there in the fifth inning," Norris said.
The Pirates, with four rookies and two second-year players in their lineup, ended their third losing streak of at least seven games this season.
"Guys fed off each other tonight," Russell said. "Good things started happening, and everyone kind of jumped on board. Little things can spark you, and that's what I've been trying to get these guys to understand: You're not that far away... Tonight is kind of what we've been looking for out of this group."
Astros RHP Jeff Fulchino had another successful throwing session Saturday, and Mills said he is progressing nicely after going on the disabled list June 29 due to right elbow tendinitis. ... During the game, Houston announced it plans to recall LHP Wesley Wright in time to start Tuesday in Chicago. ... The attendance of 36,665 -- buoyed by postgame fireworks -- marked the fifth sellout of the season at PNC Park. The Pirates improved to 6-1 this season and 13-3 the past two years in front of home crowds in excess of 30,000. ... Making his major-league debut, Pirates 30-year-old C Erik Kratz went 2 for 5 with a run and an RBI.