Bristol City slumped to an eighth league defeat this season as Jack King's header earned Preston their first home league win since September in a game that saw both sides finish with 10 men.
Sean O'Driscoll was sacked as head coach in midweek and caretaker-boss John Pemberton saw his side fall behind to King's header in the 33rd minute.
It was King's first of the season and was enough to separate the two sides with Paul Gallagher and Bristol City's Karleigh Osborne both sent off in stoppage time.
City should have been ahead when Simon Gillett dragged his shot wide and Aden Flint missed another guilt-edged chance for the Robins when he headed Scott Wagstaff's corner at Declan Rudd.
Preston punished the visitors' profligacy when Kevin Davies nodded Gallagher's free-kick across goal for defender King to head home his first goal of the season.
Scott Laird's shot on the turn was easily saved by City keeper Elliot Parish after the break before Robins captain Sam Baldock fired wide.
Both sides finished with 10 men after Osborne and Gallagher saw red after scuffling on the pitch in the closing stages.