Charlie Austin’s 15th goal of the season put QPR ahead against the run of play at Loftus Road.
Bolton made most of the running in the first half but were undone when Austin headed home Matt Phillips’ 40th-minute cross from the right.
Rangers deployed on-loan Tottenham left-back Benoit Assou-Ekotto as a makeshift right-back because of injuries to Danny Simpson and Nedum Onuoha.
And Bolton, struggling near the wrong end of the table and beaten 7-1 at Reading in their previous away game, lost Tim Ream after the defender was hurt in an accidental clash of heads with Austin only a few seconds into the match.
Nevertheless, the visitors made a strong start and after Mark Davies did well on the right and pulled the ball back for Darren Pratley, Assou-Ekotto had to react quickly to block the midfielder’s shot.
Mark Davies and forward Craig Davies both then fired wide, and there was more anxiety among the home fans when Austin went down with what appeared to be a shoulder injury.
Rangers, heavily dependent on their top scorer this season, were relieved when Austin was able to continue after lengthy treatment.
And QPR survived another scare when Craig Davies’ blistering 25-yard shot crashed against the bar with keeper Rob Green well beaten.
They made the most of their good fortune, nicely working an opening for Austin to open the scoring.
QPR: Green; Assou-Ekotto, Dunne, Hill, Traore, Kranjcar, Henry, Carroll, Phillips, Johnson, Austin.
Subs: Murphy, Hoilett, Diakite, Zamora, Wright-Phillips, Ehmer, O’Neil.