Town created the first opportunity in the second minute when Nicky Adams hit a right-footed shot from the centre of the box, but it flew wide of the left post.
The visitors came close again minutes later, this time as Kyle Bennett found space to unleash a shot which rose high and wide of goal.
Crawley continued to dominate the opening stages of the game and it took a great piece of goalkeeping to keep out Emile Sinclair's right-footed shot, with the ball looking destined for the bottom-right corner.
City's best chance of the half fell to debutant Simon Gillett who had managed to find space, but could only blast the ball over the crossbar from just outside the box.
The home side threatened after the break when Sam Baldock managed to get an effort off towards goal but his attempt went wide from a difficult angle.
Bristol enjoyed a healthy spell of possession midway through the second half and they almost made it count, but Karleigh Osborne's header went inches wide of the post as his side searched for the lead.
They finally took the lead in the 80th minute when the in-form Emmanuel-Thomas fired in a shot from the centre of the box, before Bryan added City's second of the night in the 87th minute to confirm the victory.