Sean Maguire came off the bench to secure victory for Preston for the second game in a row as they moved to within one point of the Sky Bet Championship play-offs by beating Bristol City 2-1 at Deepdale.
Maguire struck twice against Bolton on Saturday and scored within five minutes of coming on to move the Lilywhites level on points with City, who had Aden Flint sent off late on and have now lost five successive league games against Preston.
Alan Browne had given the hosts the half-time lead before Famara Diedhiou levelled up for the Robins.
It was Preston's keeper Declan Rudd who was called into action seven minutes in as he dropped to his left to hold Hordur Magnusson's powerful strike from the left edge of the area.
Alex Neil's side were ahead after 20 minutes thanks to a stunning finish from Browne. City goalkeeper Frank Fielding rushed from his goal but Magnusson cleared the ball ahead of him straight to Browne, who lofted a delightful chip from 20 yards into the far corner.
Lee Johnson has never beaten Preston in the league but his side started the second half brightly in pursuit of an equaliser. Darnell Fisher produced a superb defensive clearance to prevent Jamie Paterson's cross finding Bobby Reid for a tap-in less than a minute after the restart.
If Fielding was feeling culpable for his part in Preston's opener, he went some way to making amends with a stunning save after 54 minutes, acrobatically tipping Greg Cunningham's flicked header from six yards round the post.
And City were level on 67 minutes through Diedhiou, who beat his man at the near post to head Reid's cross past Rudd from eight yards.
Parity lasted for just two minutes. Maguire, whose weekend brace came on his first appearance since November, had only been on the pitch for a short while when he grabbed the winner.
The Irishman was slipped through by Daniel Johnson and turned past Korey Smith before slotting beyond Fielding.
The visitors had two great chances to equalise after 77 minutes, first with Paterson bursting forward but hitting the side-netting before Rudd produced a point-blank stop to deny Reid.
City defender Flint was then shown a straight red in added time after appearing to strike Cunningham off the ball as Neil's troops claimed a vital three-point haul in their quest for a top-six finish.
Alex Neil: "We bring Sean on and he does what he does. Sean Maguire being back in the side is a boost as he is a natural goalscorer. We looked at starting him but it's a bit too soon and we don't want to bring him in too soon and him break down as he is a key player for us.
"I think we've managed Sean very well. I had the choice over whether to play him for an hour and not have him at the weekend or give him half an hour and have him for the weekend. He gives us that shot in the arm."
Bristol City assistant manager Dean Holden: "Flinty has gone to ground under a challenge he may or may not have had. The aftermath is he's got a Preston player come up to him who's I think put his hand through Flinty's hair - it looked like provocation.
"He's reacted and swung his arm at him. Their keeper (Rudd), the panto villain, has made everyone aware of it and it became a bit of a mess there. The FA will have to look at it. It's easy to say: 'keep your cool' but this is a big game and emotions are riding high."