Marquis (8-6) gave up the three runs on eight hits with four strikeouts for the Cubs, who have won three of their last four games.
Chris Roberson, who was recalled earlier Tuesday from Class AAA Ottawa, went 4-for-4 with an RBI for Philadelphia, which saw its four-game win streak halted. Pat Burrell hit his 14th home run of the season for the Phillies, who lost for only the second time in their last 11 games overall.
Jason Kendall had two RBI for the Cubs.
Adam Eaton (9-7) was the loser after giving up five runs on eight hits over 5 1/3 innings.