PHILADELPHIA -- Known for his home runs, Ryan Howard might have settled for a mere groundball.
Howard went 3 for 3 and drove in three runs, Roy Oswalt recovered from a rocky first to pitch seven solid innings and the Phillies won for the fifth time in seven games.
The Phillies trailed by a run and had runners on second and third with no outs when Howard came up in the seventh. The lefty star muscled a 2-1 slider into center field.
"I just wanted to hit something to the right side of the field and at the very least get the run home," Howard said. "It was a slider away. I was out in front of it a little bit and I was able to hook it back up the middle."
Howard anticipated sliders from Marshall and delivered a hit that might have been kept in the infield by a conventional defense. But the ball found a seam between overshifted shortstop Starlin Castro, who was playing behind second, and second baseman Darwin Barney, who was playing toward first and on the outfield grass.
"You have those hits where you hit the ball hard into the shift and you have those kind of balls you'll definitely take," Howard said. "At times they even out every once in a while."
Said Phillies manager Charlie Manuel: "That's what happens when you put the ball in play. Making contact is the big thing."
Marshall has been used in four of the last five games. Manager Mike Quade had Kerry Wood warming up, but went to Marshall because of a blister that Wood said has been bothering him.
"He's had a nice year and we've really leaned on him," Quade said of Marshall.
Said Marshall: "I told them I felt great. I just wanted to help my team. I've got to get better and make better pitches, especially against a team like Philadelphia."
Chase Utley doubled, singled and scored twice 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.
"Hopefully the guys would put pressure on them and I keep them at three," Oswalt said of his thoughts after the opening inning.
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. After Marshall (3-1) hit Shane Victorino to open the inning, Utley doubled to right, bringing up Howard.
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.
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.
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.