Joe Ironside headed in the opener after 3 minutes, before Max Watters levelled up for the Reds just before halftime.
Tom Nichols headed in the eventual winner, despite Jake Hesketh receiving a straight red card late on.
John Yems named an unchanged starting line-up from the 4-0 victory over Tranmere, as Ashley Nadesan returned to the bench.
Cambridge got off to the perfect start when, from a throw-in, Leon Davies curled in a delightful cross, with Joe Ironside getting in front of his man and heading in from close range as Crawley conceded their second goal at home this season in the 3rd minute.
Tom Nichols drew the first save from Cambridge when he stung the palms of Dimitar Mitov with a powerful drive, before Ironside came close to scoring his second of the game, when his towering header down was kept out by Morris on the line.
Cambridge came desperately close to a second when Paul Mullin latched onto a long ball and lifted it over the head of Morris, but Tony Craig got back just in time to deny Mullin with an excellent headed clearance on the goal-line.
Jake Hesketh’s low effort was held by Mitov, as he was unable to finish off what would have been a great Crawley team goal.
And soon after Crawley’s pressure paid off on the stroke of half-time as the Reds probed on the edge of the penalty area before Nichols slid in Max Watters with a clever pass, with Watters blasting his left-footed strike in at the near-post: his 5th goal of the season, on the 44th minute.
Cambridge were close to regaining the lead early in the second-half, when Harrison Dunk headed against the underside of the bar, before Mullin was kept out by Morris from close range.
Moments later, Crawley turned the game around with a simple goal when Sam Matthews whipped in a dangerous corner with Nichols rising high to head down and in, giving the Reds the lead in the 57th minute.
Greg Taylor fired over following a free-kick and later he headed onto the bar as the pressure began to mount.
Tyler Frost’s header just evaded the reach of Nichols, as Mitov clawed to safety in an end-to-end finish to the match.
Crawley would finish the game with 10 men after Hesketh lunged into a tackle on Kyle Knoyle, which saw him dismissed in the 86th minute.
Idris El Mizouni’s long-range effort was beaten away by Morris deep into stoppage time, but Crawley survived the scare of a late equaliser on Halloween to take all three points.
Crawley: Morris, Doherty, Francomb (Davies 62’), Powell, Nichols, Tunnicliffe, Matthews (Frost 74’), Craig, Hesketh, Watters (Nadesan 50’), Hessenthaler
Cambridge: Mitov, Knoyle, Iredale, Taylor, Hannant, Mullin, Dunk (Knibbs 76’), Cundy, Davies (El Mizouni 69’), Ironside (Hoolahan 63’), Boateng