Preston North End 1 Bristol City 1 - PNE extend their unbeaten run but miss the chance to close the gap on the Robins
Daniel Johnson fired North End into the lead three minutes before half-time, meeting a free-kick from Paul Gallagher to sweep a shot into the roof of the net.
But the Robins pulled level in the 69th minute, Famara Diedhiou netting on the turn from close range.
Advertisement
Hide AdAdvertisement
Hide AdBoth sides went close to a winner, Declan Rudd pulling off a fine save to push away a shot from substitute Antoine Semenyo.
Tom Barkhuizen couldn't get enough power on Jayden Stockley's flick-on, while deep in stoppage-time, Alan Browne sent a header inches wide.
It left the gap between PNE and sixth-place City at six points with Alex Neil's men having 11 games remaining.
Neil had made three changes from the side which won at Millwall last week, Johnson, Ryan Ledson and Darnell Fisher coming into the side.
Advertisement
Hide AdAdvertisement
Hide AdJohnson got the nod over Barkhuizen who dropped to the bench, while Ledson was the like-for-like replacement for the suspended Ben Pearson.
Fisher came back into the side at right-back in place of injured skipper Tom Clarke.
The first half in general lacked tempo and pattern, both sides rather cancelling one another out.
North End did more of the attacking but it was only in the run-up to half-time when that paid dividends.
Advertisement
Hide AdAdvertisement
Hide AdAn early chance for the visitors saw Jamie Paterson miskick in front of goal after connecting with a low cross from Callum O'Dowda.
PNE's first sight of goal was a header from Andrew Hughes which flew over the bar after the left-back had met a Gallagher corner,
Sean Maguire latched on to Gallagher's cross field pass to volley first-time over the bar from the left corner of the box.
The deadlock was broken in the 42nd minute, North End winning a free-kick to the left of the box when Lloyd Kelly scythed down Alan Browne - the City player was booked.
Advertisement
Hide AdAdvertisement
Hide AdWith a move from the training ground, Gallagher rolled the free-kick square to Johnson in the middle who swept a first-time left-foot shot into the roof of the net from 12 yards.
In the 52nd minute City striker Diedhiou put a header too high after meeting a cross from the left, while Semenyo saw a shot deflect off Jordan Storey for a corner.
The visitors had to change goalkeepers in the 65th minute, Niki Maenpaa limping off to replaced by Max O'Leary.
A flowing move down the left involving Gallagher, Maguire and Johnson carved-out a chance soon after that keeper change.
Advertisement
Hide AdAdvertisement
Hide AdJohnson ran on to Maguire's flick and sent a cross into the box which Brad Potts met, his shot blocked by a defender and seeing some fans appeal for handball.
City pulled level in the 69th minute, a shot from Semenyo having been deflected for a corner.
Josh Brownhill delivered the flag-kick from the right into the middle, Marlon Pack headed goalwards and Diedhiou turned inside the six-yard box to knock it over the line.
It needed a fine save from Declan Rudd to prevent the visitors taking the lead in the 81st minute, the PNE goalkeeper diving to claw behind Semenyo's shot.
Advertisement
Hide AdAdvertisement
Hide AdNorth End introduced substitutes Barkhuizen, Lukas Nmecha and Stockley as they looked for a winner.
Nmecha's winding run took him through the visitors' half in the 83rd minute, his shot from the edge of the box saved by O'Leary.
Then as time ticked towards the 90-minute mark, Stockley flicked on a cross which found Barkhuizen but on the stretch he couldn't get any power on his shot and the keeper saved.
Preston almost snatched a winner in stoppage-time when Barkhuizen's cross from the left side of the box found Browne but he sent his header agonisingly the wrong side of the far post,
Advertisement
Hide AdAdvertisement
Hide AdPNE: Rudd, Fisher, Storey, Davies, Hughes, Ledson, Johnson (Stockley 87), Potts (Nmecha 80), Browne, Gallagher (Barkhuizen 74), Maguire. Subs (not used): Earl, Rafferty, Huntington, Crowe.
Bristol City: Maenpaa (O'Leary 65) Hunt, Webster, Kalas, Kelly (Dasilva 60), Brownhill, Pack, Weimann, O'Dowda (Semenyo 53), Paterson, Diedhiou. Subs (not used): Wright, Taylor, Eliasson, Palmer.
Referee: Jeremy Simpson (Carnforth)
Attendance: 12,863 (870 away)