© PA Photos
It was a dream start for the Londoners as Hoilett raced through following a punch from Cesar and his shot was deflected in off Leighton Baines after just two minutes.
Cesar saved well from a Nikica Jelavic free kick before Ryan Nelsen missed a good chance from a header to double the lead on 22 minutes.
Then came a huge slice of luck for Everton. Silvain Distin met a Baines corner and the ball went in via the post and Cesar's back for an own goal.
It could have been worse before half-time for QPR as Phil Jagielka hit the woodwork himself, but the sides went in level at the break.
Five minutes into the second half it took some fine defending from Jagielka to stop QPR retaking the lead as he blocked superbly at the feet of Park Ji-Sung.
QPR were given a boost in the 61st minute as Steven Pienaar was shown a second yellow for a trip on Jose Bosingwa and Everton were down to 10 men.
Despite being a man down, Everton could have taken the lead but Cesar kept out Jagielka's goalbound effort on 72 minutes.
QPR started to up the pressure and Howard had to be alert to keep out Hoilett on 76 minutes, before the hosts had a shout for a penalty turned down as Seamus Coleman got a slight touch when tackling Hoilett.
The tricky winger was then denied once more by a resilient Tim Howard, as this time a curling effort was kept out.
QPR continued to press but Everton's defence remained solid throughout stoppage time, with Mark Hughes forced to settle for a point.