Preston won their game in hand to go five points clear of seventh place and put themselves in a good position for the play-offs, but they were made to work hard by a battling Crewe who nearly snatched an equaliser in added time.
Kenny Lunt hit a right-foot cross for Steve Foster after just five minutes and his header from 12 yards was saved by Carlo Nash diving low to his left.
In the seventh minute Marcus Stewart, on loan from Bristol City, hit a 25-yard shot which was fumbled by the Crewe keeper for a corner.
Preston skipper Graham Alexander hit a 30-yard right-foot shot narrowly over the bar and Brian O'Neil was booked for a foul on Jon Otsemobor.
Brett Ormerod showed frustration when throwing the ball away after a decision went against him and was booked by referee Mr Thorpe.
Stewart only had to pass the ball into the back of the net after 34 minutes, but managed to fire over the bar but Preston did score after 37 minutes when Patrick Agyemang fed Brett Ormerod down the left.
He made a great run down the left channel before hitting a 25-yarder into the bottom left-hand corner of the net.
Crewe came back in the second half and a right-foot cross by Otsemobor was met by a shot from Gareth Taylor from 20 yards which just went wide.
Steve Jones hit a 12-yard chip over the bar and Tyrone Mears was booked for a foul on Foster.
Chris Sedgwick had a diving header from an Alexander corner which went wide of the right-hand post after 58 minutes.
O'Neil was replaced by Jason Jarrett and Chris Sedgwick hit a shot straight at the keeper. Lee Bell and Taylor were replaced by Eddie Johnson and David Vaughan and Simon Whaley replaced Paul McKenna.
Steve Jones, a target for Preston earlier in the season, had a header saved by Nash with ten minutes to go. He also had another late chance when his volley was saved.