CHICAGO (AP) -- Roy Halladay earned his first win in a month to help the Philadelphia Phillies keep rolling.
Halladay threw eight strong innings for his first win since April 16 and the Phillies held on for an 8-7 win over the Chicago Cubs on Thursday night.
Philadelphia has won five straight and six of seven and is over .500 for the first time since its Opening Day win.
"It took us awhile to get back to .500," Phillies manager Charlie Manuel said. "Now we have to stay there and move on."
Halladay (4-3) had lost three straight decisions to match a career high, but held the Cubs to three runs and scattered seven hits. The two-time Cy Young winner has allowed three earned runs or fewer in eight of his nine starts this season.
"To put together five games and get ourselves at or above (.500) is important," said Halladay. "I think sometimes when you start thinking about it too much, it's hard to put together a run like that. So now that we have it out of the way we can get to a point where we're not worrying about it."
Chicago's Welington Castillo 's stroked a two-out, three-run double in the ninth against Phillies reliever Jake Diekman to close the gap to two runs. Phillies closer Jonathan Papelbon came on and allowed an RBI single to Darwin Barney , but got Reed Johnson on a grounder to third for his 11th save of the season.
While Halladay ended his modest skid, Cubs starter Chris Volstad (0-6) suffered his 19th straight start without a win. He lasted just two innings, allowing four runs, six hits and three walks. Volstad threw 58 pitches, a total Halladay didn't reach until there was one out in the sixth.
"I know it's in there - it's just a matter of tapping into it and finding it at this point," said Volstad. "I've done it before. I've thrown beautiful games in the big leagues before. It's in there. Just got to tap into it."
Carlos Ruiz continued his strong start to the season with three RBI and his sixth career four-hit game to raise his batting average to .363. Ruiz leads NL catchers with 27 RBIs and is 9 for 14 over his last four games. He even stole his first base of the season on the back end of a double steal in the first.
"I feel great," said Ruiz. "When you feel great at home plate, you're going to have a lot of good at-bats. I feel relaxed and I see the ball well."
"To me he's the best catcher in the National League and we've said that for years," said Halladay. "Unfortunately, you've got to hit to get that notoriety and he's doing that now. Hopefully people take notice."
Jimmy Rollins had two hits, a walk and scored three runs. Hunter Pence added a two-run single.
The Phillies have struggled offensively to start the season without two of their best hitters all season. Chase Utley is out with patella tendonitis and Ryan Howard is recovering from a torn Achilles tendon.
"If we can play good enough without them--our lineup and our defense is going to get much better," said Manuel.
The Cubs may have lost three straight, but Volstad hasn't won since July 10, 2011. He's gone 0-11 during his drought with a 5.40 ERA. His ERA rose to 7.46 for this season and it could have been worse -- the Phillies stranded five runners during his two innings.
In addition to the bases-clearing double, Castillo homered and drove in a career-high four runs.
Volstad's run support has been the lowest in baseball during his skid among pitchers with at least 15 starts, but his results have been increasingly poor in recent outings. He's allowed 15 runs over his last 17 innings, with 19 hits, eight walks and just four strikeouts.
Halladay had lost five of his last six games against Chicago before dominating Thursday's game. He even chipped in with two hits and a run at the plate for his third career multi-hit game.
Starlin Castro hit a solo home run and drove in two runs for Chicago. David DeJesus had two hits and a run, extending his hitting streak to nine games.
NOTES: Phillies 2B Chase Utley reported no problems after taking grounders for the first time this season before Wednesday's game. Utley has spent the entire season on the disabled list because of patella tendinitis in his right knee. No timetable has been established for his return. ... C Geovany Soto was a late scratch from the Cubs' lineup due left knee inflammation and was replaced by Castillo. Soto is listed as day-to-day. ... Before the game, the Cubs selected the contract of right-hander Blake Parker from Triple-A Iowa and optioned lefty Scott Maine to Iowa. Parker was 1-0 with a 2.08 ERA in the minors and converted all five of his save opportunities. He made his debut in Thursday's game, striking out Ty Wigginton to begin his big-league career, but allowed three unearned runs on his own throwing error in the eighth. ... Phillies 3B Placido Polanco sat out with a bruised left knee. He left Wednesday's game after fouling a pitch off his leg, something he's done several times over the last week.