Ryan Howard went 3 for 3 and drove in three runs, and Roy Oswalt recovered from a rocky first to pitch seven solid innings and lead the Philadelphia Phillies to a 4-3 comeback victory over the Chicago Cubs on Sunday.

Howard's two-run single in the seventh put the Phillies ahead for the first time and helped Philadelphia to its fifth win in seven games.

Chase Utley had two hits with a double and two runs scored for the Phillies, who took three of four from the Cubs.

Aramis Ramirez homered for Chicago, which has lost 11 of 13.

Oswalt (4-4) snapped a four-game losing streak, matching the worst of his career. He allowed three runs on five hits while striking out five and walking two.

He gave up just one hit after the first, when the Cubs scored three runs on four hits.

Oswalt struck out Kosuke Fukudome to lead off the game, becoming the seventh active player to reach 1,700 career strikeouts. Philadelphia right-hander Roy Halladay has 1,820 strikeouts. Oswalt now stands at 1,704.

Winless in his last six starts entering Sunday, Oswalt pitched at least seven innings for just the second time in 12 starts this season.

The right-hander left the game trailing, but Howard's two-run single to center in the seventh put Philadelphia up for good, 4-3. After Cubs left-handed reliever Sean Marshall (3-1) hit Shane Victorino to open the inning, Utley doubled to right to put runners on second and third with no outs for Howard. Howard muscled a 2-1 pitch to center to score Victorino and Utley.

Ryan Madson pitched a scoreless ninth for his 15th save in 16 chances. The Cubs got the go-ahead run to the plate with two outs and a runner on first. But Geovany Soto, after just missing a homer to left that went foul, popped out to Utley, who made a superb over-the-shoulder catch.

Cubs starter Doug Davis entered with a career-worst six-game losing streak and hadn't won since May 5, 2010, spanning seven starts entering Sunday. The left-hander departed with the lead after giving up two runs on five hits in five innings, striking out six and walking five.

The Cubs jumped out to a 3-0 lead in the first on Starlin Castro's RBI double and Ramirez's two-run homer to left.

The Phillies got a run back in the bottom half on Howard's double to center that scored Victorino, but Davis escaped a one-out, bases-loaded jam without giving up another run by striking out Raul Ibanez and getting Carlos Ruiz to line out to third.

Philadelphia loaded the bases again with one out in the third and managed just a run, on Ibanez's single to right that made it 3-2. Davis avoided further damage by striking out Ruiz and getting Wilson Valdez to ground out to second.

Philadelphia manager Charlie Manuel was ejected in the sixth inning by home plate umpire Alan Porter for arguing balls and strikes after Oswalt was called out on strikes. It was Manuel's second ejection of the season. He was in the dugout when tossed and came out for an animated conversation with Porter and second-base umpire Gary Cederstrom.

NOTES: The Phillies recorded their 159th straight sellout with a crowd of 45,361. The Phillies improved to 73-29 (.716) on Sundays at home since Citizens Bank Park opened in 2004. Victorino lost control of his bat in the seventh and it ricocheted off a rail and was caught by a fan in the second row just to the right of the Cubs dugout.