Few could argue that Burnley don’t deserve promotion, and the record-breaking riches that will follow next season, having stretched their unbeaten run to 22 matches dating back to Boxing Day.
Having seen Brighton held by Derby earlier in the afternoon, Burnley knew that victory at Turf Moor would see them promoted with a game to spare.
They were made to work hard for the points but got the decisive goal in the 61st minute when Vokes flicked David Jones’ free-kick into the far corner.
Alejandro Faurlin almost denied Burnley when his long-range effort struck the post, but Sean Dyche’s side held out and will return to the Premier League after being relegated last year.
They will be joined in the automatic promotion places by either Middlesbrough or Brighton, who are level on points and meet at the Riverside on the final day.
The Clarets’ promotion charge has been built on the back of a lengthy unbeaten run from Boxing Day which they stretched to 22 games against QPR, even though they were not at their best.
The visitors had the better chances in the first half as Matt Phillips and Junior Hoilett both tested Tom Heaton with low shots.
Andre Gray was rarely involved at the other end and Burnley’s only real opportunity of the first 45 minutes came when Cole Kpekawa’s soft clearance fell to Vokes, but his effort was blocked.
Michael Petrasso almost latched on to a long ball over the top, only for Heaton to come out sharply to smother the chance.
Burnley looked brighter after the break and went close as Scott Arfield’s side-footed lob from outside the box went just past the far post.
Gray then lifted the ball over Matt Ingram after turning Grant Hall, but his effort, with Vokes well placed in the middle, was off target.
The breakthrough eventually arrived in the 61st minute when Jones curled in a free-kick from the right side of the box and Vokes headed into the far corner.
While the stadium erupted in celebration, QPR almost spoiled the party when Faurlin’s sweetly-struck effort in the 69th minute hit the outside of the post.
However, otherwise the visitors rarely threatened in the closing stages and it was Burnley who went closest to scoring again as Ingram made a sharp save to deny Arfield and Vokes headed into the net after the whistle had gone for a foul.