Brighton were made to pay for missed chances in a first half which they dominated.
Captain Danny Cullip crashed a close range shot against a post following a long throw by Kerry Mayo.
The Seagulls were denied by the woodwork again seconds later, Bobby Zamora's thumping header hitting the bar from a Richard Carpenter corner.
Preston, with five players out on loan and five others injured, were much more of a threat in the second half.
They were rewarded on 71 minutes when centre half Jackson powered home a header from a Graham Alexander corner.
Brighton substitute Paul Kitson, who came on to score in their previous outing at Reading, could have repeated the feat but his first effort was saved by keeper David Lucas and his follow up was cleared off the line by Chris Lucketti.
Preston should then have been awarded a penalty when Brighton keeper Dave Beasant blocked Pawel Abbott inside the area.
Referee Len Cable waved away their appeals and dismissed Craig Brown from the dug out for encroaching on the pitch to protest.
The visitors frustration turned to elation on 86 minutes when Cresswell finished a solo run with a shot in off the post from the edge of the area.
It was the former Leicester striker's 16th goal of the season and the perfect way to celebrate his 100th appearance for the club.
Steve Coppell, his team still in the bottom three by a point, said: "We really needed to get our noses in front.
"We got bogged down the longer the game went on and the first goal was always going to be vital.
"It was a poor one from out point of view. We immediately had opportunities to equalise, but it wasn't our day."Former Scotland coach Brown said of his sending off: "I did not use any bad language. I just appealed to the ref to be fair and what annoyed me was that he smirked and smiled."