A goal three minutes from the end by Luke Ayling earned leaders Bristol City a hard-fought win over battling Reds.
The visitors had defended diligently for long stages and although City keeper Frank Fielding had little to do the visitors looked more of a threat on the counter-attack as the game wore on.
But when Crawley failed to clear a corner on the right Ayling volleyed home to end Reds’ unbeaten league run of six games.
Reds looked shaky in the opening exchanges and were a shade fortunate not to concede an early goal as Bristol set the early pace.
Lewis Price was called into action on six minutes when Kieran Agard turned in the six-yard box after Luke Freeman’s free kick from the left had been flicked on but Price made himself big to block the shot.
City went even closer a minute later when Ayling’s header was cleared off the line by Lanre Oyebanjo.
The hosts forced four corners in the opening ten minutes but Reds held firm although Price was called upon again in the 18th minute when Joe Bryan cut in from the right and fire goalwards but Price turned his shot over.
Reds finally began to make inroads at the other end midway through the half. Keith Keane’s pass allowed Miller to run at the home defence but he shot wide then Bawling fired over from the edge of the box after good work by Young and Gavin Tomlin.
City came again towards the end of the first half and Price made a vital interception to stop Smith getting on the end of Agard’s cross. Price had earlier made a routine save from Agard’s effort but at the back Reds were more than holding their own at the end of a goalless first half.
Keith Keane battles for the ball with Korey Smith in the final game of his loan spell
City upped the ante at the start of the second half and Smith glanced a 48th-minute header by Freeman wide.
Price wasn’t troubled by that effort but he needed treatment seven minutes later when he came out of goal to clear under pressure from Agard after Bawling under-hit a back pass.
It was starting to become increasingly open with Smith not far away from 25 yards for Reds before Price made another fine save on the hour when he pushed out Smith’s header after the increasingly influential Freeman had chipped an inviting centre to the far post.
Bawling then saw his shot blocked by Flint before Gregory made his first change on 65 minutes with Harrold replacing Tomlin.
Keane was booked for a foul on Freeman before City made a double switch with Wilbraham and ex-Cheltenham midfielder Marlon Pack coming on.
As the contest entered the final quarter Reds were still looking solid and offering a threat at the other end. Miller fired another shot wide on 72 minutes and five minutes later Bradley met Smith’s free kick from the corner of the box with a powerful header which flew over.
Elliott came on to a warm ovation from the home fans with 12 minutes to go when he replaced the hard-working Miller.
City went with three up front as the game entered the final ten minutes and after some pin-ball in the Reds’ box Wilbraham shot well over.
It looked as if Reds had done enough to hold on for a point but with three minutes left the home side broke the deadlock.
Price pushed Korey Smith’s header wide for a corner and when Freeman swung it in AYLING found space 10 yards out to volley into the far corner from the right-hand side.
It was harsh on Reds but another win ensured the home side remained at the top of the league.
Reds: Price; Bradley, Leacock, Walsh; Bradley, Keane, Smith, Bawling; Young; Tomlin (Harrold 65); Miller (Elliott 78). Unused subs: Jensen, Henderson, Banya, Richefond, Isaacs.
City: Fielding, Ayling, Flint, Little (Wagstaff 73), Williams; K.Smith, Freeman, Elliott (Pack 69), Bryan; Agard, Smith (Wilbraham 69). Unused subs: Richards, Osborne, Emmanuel-Thomas, Cunningham.