Preston went down to their fourth defeat in five games to a battling Millwall side.
The Lions led at half time and consolidated their lead in the second half, leaving player-boss Dennis Wise delighted with his team's performance.
Preston had the first chance after just three minutes when Graham Alexander had a 20-yard shot saved by visiting keeper Willy Gueret, who dived low to his left.
Man of the Match Tim Cahill netted for the Lions after 13 minutes, only to see his effort chalked off for offside.
The out of form Preston forward Richard Cresswell had a header in the 19th minute which went straight up in the air before being caught by the Millwall keeper.
Four minutes later, Jamaican striker Ricardo Fuller had a shot from the right hand side of the penalty area deflected away for a corner.
Millwall took the lead just before the interval when a Peter Sweeney cross fell to Paul Ifill and he hit a right foot shot from 12 yards into the back of the net.
In the 68th minute, Michael Jackson had a ten-yard header cleared off the line by Cahill, but the ball fell loose and Claude Davis had an effort blocked.
David Healy then had a shot that was deflected onto the bar by Robbie Ryan, before Healy's headed cross from the right fell to Davis to score from close range in the 69th minute.
Millwall were not finished and found a winner in the 77th minute when a clearance by Andy Roberts fell to an unmarked Cahill and his header nestled in the bottom corner to clinch the points.