Preston stretched their unbeaten run to six Championship games in a dramatic 3-3 draw with Bristol City at Deepdale.
First-half goals from Taylor Moore – his first for Bristol City – and Andreas Weimann gave the visitors the ascendancy.
But Patrick Bauer's header with 20 minutes remaining stretched Preston's impressive unbeaten streak.
Both sides had opportunities to score in the opening stages of the game, with a flurry of chances at both ends in an action-packed first half.
The returning Sean Maguire fired just wide from a tight angle for the hosts three minutes later.
With such an open start to the game, an early goal was almost inevitable, and Moore edged the visitors in front on the half hour mark.
Rowe's corner was flicked on by Ashley Williams and, with the Preston defence unable to clear their lines, the full back reacted quickest to turn the loose ball home from close range.
With the Lilywhites still looking to get a foothold back in the game, Lee Johnson's side doubled their lead seven minutes later.
Preston failed to learn their lesson over marking at corners, as Weimann stole in front of two defenders to flick home a header from Josh Brownhill's set piece.
The hosts' fortune continued after the break, as they were awarded a second penalty on 51 minutes as Williams handled Maguire's cross.
This time Gallagher passed responsibility over to Johnson and he calmly sent Daniel Bentley the wrong way from 12 yards.
From there, the game turned back into the visitors' favour, with Kasey Palmer denied by Rudd on the hour mark, before Johnson's side regained the lead on 62 minutes.
Brownhill was once again the architect against his former side as his whipped free-kick caused problems in the Preston box, with Baker reacting sharply to poke home from a yard out.
However, Preston were not finished yet, as defender Bauer got above his man to head home Joe Rafferty's corner after 70 minutes to ensure a share of the spoils for the home side.