Daniel Johnson's late goal gave Preston North End victory over Bristol City.
The midfielder struck in the 85th minute, finding the net from an acute angle after being played in down the right hand side of the box.
Seven minutes earlier, substitute Aaron Wilbraham had headed the Robins level, equalising a first-half goal from Simon Makienok.
For a short time, it looked like North End had thrown away two points from a winning position for a second game in the row after being pegged back at Nottingham Forest last Wednesday night.
But then DJ chose the perfect moment to find the net for the third time in a week.
They could have had victory sewn up long before, Callum Robinson hitting the bar with the scoreline at 1-0 and other chances falling their way.
Ashton Gate is proving to be a happy hunting ground for Preston, this their third successive victory in the red half of Bristol.
The North End side had shown two changes from the midweek draw at Nottingham Forest, Paul Huntington replacing Bailey Wright and Aiden McGeady coming in for Marnick Vermijl.
McGeady was on the left-wing in a 4-1-4-1 system, with Robinson on the right, Alan Browne and Johnson operating in front of the deep-sitting Ben Pearson.
It was the home side who dominated the early play, Preston looking hesitant and off the pace.
A 20-yard shot from Lee Tomlin was pushed away by Chris Maxwell, City then shouting loudly for a penalty after Tammy Abraham went down in the box under a challenge from McGeady.
Referee Simon Hooper shook his head and waved away the appeal, but it certainly looked a close call.
Hordur Magnusson fired over the bar after Maxwell had punched clear Luke Freeman's corner.
The PNE goalkeeper saved well at his near post in the 15th minute, parrying Joe Bryan's powerful drive - the left-back having got far too much room down that side of the pitch in the opening exchanges.
North End's opener came very much against the run of play and gave them the kick-start they needed.
Robinson did the spadework on the right-wing, switching the ball from his right foot to left and curling over a fine cross which Makienok met on the volley and tucked away from six yards.
Sparked into life, the visitors were much better after that and had chances to stretch their advantage.
A shot from Robinson crept just wide of the target, it looking to have caught a slight deflection but Mr Hooper awarded a goalkick.
Browne sliced a first-time effort over the bar from inside the box after being played in by Robinson, the midfielder needing to show more composure.
At the other end, Abraham dragged a shot wide after a blocked Bobby Reid effort had fallen into his path.
He did better in the 34th minute, shrugging off a couple of tackles to force his way down the right hand side of the box, Browne's shot from a tight angle deflected for a corner.
North End should have scored a second goal two minutes into added-on time at the end of the first half.
Pearson's pass released Alex Baptiste down the right channel, the full-back's cross deep to the far post met by Makienok who cushioned a header back into the middle into the path of Robinson who scooped a shot against the bar.
Less than two minutes into the second half, Greg Cunningham was tripped to the side of the box, earning PNE a free-kick.
McGeady rolled the set-piece low into the box, Johnson kicked fresh air, the ball running to Huntington whose low shot was cleared off the line by Abraham.
In the 55th minute, Browne won possession and set off on a run which carried him into the City half.
His pass found McGeady who came inside on to his right foot and sent a shot just wide of the far post from 25 yards.
The woodwork came to Preston's aid when Abraham got clear of the defence and ran through on goal, his powerful shot beating Maxwell but coming back off the bar.
Johnson sent a shot over the bar after being teed-up by Robinson, then McGeady put an effort too high - Makienok's good hold-up play creating the chance.
City drew level in the 78th minute, Adam Matthews' cross from the right travelling across the box to Wilbraham who rose to send a header over Maxwell.
Vermijl replaced McGeady at that point, with Jordan Hugill then joining the action in place of Robinson.
Back came North End regained the lead in the 85th minute, Makienok's pass finding Johnson down the right side of the box.
DJ cut inside then found the net from a tight angle just as it looked like he had been crowded out.
Late pressure from the home side was repelled by the visitors, with them seeing out more than four minutes of stoppage-time.
City: Lucic, Matthews, Flint, Magnusson, Bryan, Pack (Wilbraham 65), O'Neil, Freeman (Paterson 76), Reid (Brownhill 76), Tomlin, Abraham. Subs (not used): O'Dowda, Engvall, Moore, O'Donnell.
PNE: Maxwell, Baptiste, Clarke, Huntington, Cunningham, Pearson, Browne, McGeady (Vermijl 80), Johnson, Robinson (Hugill 84), Makienok. Subs (not used): Wright, Grimshaw, Spurr, Pringle, Lindegaard.
Referee: Simon Hooper (Wiltshire)
Attendance: 18,619 (579 PNE)