Defeat ends the Robins’ automatic promotion hopes while victory for MK Dons means North End’s potential promotion party will have to wait until next weekend.
Deepdale erupted in the second minute when Garner fired the hosts in front. Paul Gallagher swept the ball forward and League One’s top scorer looped the ball over visiting goalkeeper Tyrell Belford.
Preston piled on the pressure and Sam Ricketts had to deny Garner a tap-in at the far post after 43 minutes before Jermaine Beckford had a goalbound strike cleared away from three yards.
In first-half stoppage time the Lilywhites’ pressure told and Garner made it 2-0, nodding Gallagher’s free-kick home from eight yards.
Garner missed a great chance to make it 3-0 when he headed wide from six yards after 50 minutes.
But he did not miss a minute later after Beckford’s shot had cannoned back off the crossbar and Garner was on hand to head into the empty net for his 50th goal in his 100th Preston appearance.