The Astros were trailing 3-0 in the sixth inning but tied it up on a three-run homer by J.D. Martinez.
Then in the ninth, Maxwell led off with a double against Cubs closer Kevin Gregg (2-1), went to third on a Matt Dominguez sacrifice and came home when Cedeno pushed a bunt up the first-base line for a sacrifice.
Jose Cisnero (2-0) got the win with two scoreless innings in relief of starter Bud Norris, who allowed three runs (two earned) on six hits in six frames.
Jose Veras compiled his 15th save as the Astros evened their three-game interleague series.