Two penalties – both given away by Lee Wallace – condemned QPR to defeat.
Daniel Johnson tucked away the first and Scott Sinclair dispatched the second just before the hour mark to give Preston deserved three points.
They took the lead on 24 minutes following Wallace’s foul on Sinclair near the edge of the box.
Referee Kevin Friend initially gave a free-kick but changed his mind and instead awarded a penalty, which Johnson calmly slotted past keeper Seny Dieng.
The visitors might have have been awarded another spot-kick soon afterwards but their protests were waved away by Friend despite Rangers defender Rob Dickie appearing to tug Emil Riis Jakobsen’s shirt.
Dieng was called into action shortly before half-time, gathering a shot from Brad Potts as Preston continued to have the upper hand.
And Jakobsen squandered a glorious chance to double their lead early in the second half.
The Danish forward was found unmarked by Alan Browne’s ball in from the left but miscued his shot, which drifted harmlessly wide.
However, he atoned by winning his side’s second penalty.
As QPR struggled to clear a long ball, Jakobsen got in front of the otherwise impressive Dickie and was then tripped by the much less impressive Wallace, who struggled throughout.
This time Sinclair stepped up and, like Johnson, he calmly sent Dieng the wrong way.
Ebere Eze, who left QPR for Crystal Palace during the summer, was back at the Kiyan Prince Foundation Stadium watching from the stands.
His flair is much missed by Rangers, who struggled to create clear-cut chances and failed to even muster a shot on target.
They also missed the physical presence of Lyndon Dykes up front – the Scotland striker has sat out the past two matches with a thigh problem.
Mark Warburton will want him back as soon as possible because QPR lack a goal threat without him.
R’s boss Warburton made attacking changes in the second half, introducing recent signings Albert Adomah and Chris Willock, but Preston saw the game out comfortably.
Rangers had plenty of possession but rarely looked like finding a way past a well organised defence.
Adomah did go close in injury time when he found himself through on goal, but he fired against the post after holding off a challenge from Andrew Hughes.
QPR: Dieng; Kakay, Dickie, Barbet, Wallace; Cameron, Ball (Adomah 58), Carroll; Osayi-Samuel, Chair (Willock 71), Bonne.
Subs not used: Kelly, Kane, Hamalainen, Masterson, Bettache.