Crawley captain Gary Alexander scored twice to bring Preston's five-game unbeaten run to an end.
Nicky Adams went close for Crawley when he drilled narrowly wide during a quiet first half.
Town took the lead when Alexander headed in Adams' cross, before the striker curled a second past Thorsten Stuckmann from the edge of the box.
Paul Huntington slotted in a late consolation from Joel Byram's free-kick, but Crawley held on to win.
VIEW FROM THE DRESSING ROOM
Preston North End manager Graham Westley told BBC Radio Lancashire:
"It was a different test, against a promoted side who are doing well in their new league. They know how to win games.
"In the level of quality, there was probably little to choose between the two sides.
"In terms of work ethic, I think they showed a little bit more than us.
"We've been used to winning games with a certain level of work and a certain quality of football, but we didn't step our game up today. There's evidence today that we've got work to do."
Crawley Town manager Richie Barker told BBC Sussex:
"I thought we were excellent today. The players attitude is fantastic on a daily basis.
"To come here and win the game and be the better side speaks volumes about the players.
"I've learnt a lot about a few players today. I thought Bulman and Connolly were fantastic.
"If the players believe in themselves, they'll do good."
Preston North End 01 Stuckmann 03 Laird 04 Huntington 06 Cansdell-Sherriff 16 Buchanan (Byrom - 46' ) 26 Wright (Amoo - 63' ) 08 Wroe 17 Monakana (Hayhurst - 73' ) 19 Welsh Booked 12 Sodje Booked 29 Beavon Substitutes 23 Simonsen 13 Byrom 18 Procter 20 Beardsley 22 King 24 Hayhurst 07 Amoo Crawley Town 01 Jones 03 Sadler 04 Connolly 05 McFadzean 13 Hunt 15 Bulman 16 Adams 18 Cooper 21 Jones (Walsh - 87' ) 09 Alexander 14 Ajose Booked (Clarke - 76' ) Substitutes 25 Kuipers 12 Walsh 20 Wassmer 02 Davies 07 Clarke 22 Neilson 10 Forte