The hosts were 3-0 up after just 28 minutes, with Josh Brownhill notching North End’s third goal after an impressive start.
Doyle pulled one back for the Spireites after 31 minutes and then doubled his tally 11 minutes from time before firing home a last-gasp penalty to steal a point.
Preston took an early lead through a close-range header from Alan Browne, with Joe Garner doubling the home side’s lead after a poor back header from Daniel Jones.
Brownhill then made it 3-0 for the Lilywhites, heading home from close range just before the half-hour mark.
Doyle scored his first after good play from Jay O’Shea and the League One top scorer set up a nervy finish for the hosts when he stroked Daniel Johnson’s low cross home at the far post.
Garner was then adjudged to have handled in the area in added time and Doyle netted his 11th goal in all competitions this season.