QPR bossed the first half with Jermaine Jenas giving the visitors the lead only for Gabriel Agbonlahor to draw Villa level right on the stroke of half-time.
Andreas Weimann put Villa ahead just before the hour mark, but QPR hit back to level matters on 73 minutes through Andros Townsend.
However, Benteke had the final word when he scored nine minutes from time to move Villa six points clear of the drop zone and leave QPR rooted to the bottom of the table.
After a nervous start from both sides QPR went close to breaking the deadlock after ten minutes only to be denied by a stunning save from Brad Guzan. Chris Samba got on the end of a free-kick and his header looked destined for the far corner, only for Guzan to produce a flying save to claw the ball out from under his own crossbar.
Seconds later Samba was again denied by Guzan as the ball dropped to the big defender inside the box and he fired in a shot which the American keeper again did well to tip over the crossbar.
QPR hit the front on 23 minutes with Jenas coming back to haunt his old club with his second goal in a week. Joe Bennett gave the ball away to Jenas and he played in Bobby Zamora down the left and, after his shot was kept out by the feet of Guzan, Jenas was on hand to slide home the rebound.
QPR continued to call the shots and Zamora fizzed a free-kick from the edge of the box just wide before Loic Remy saw his curling effort tipped over the crossbar.
The visitors were inches away from doubling their lead right on the stroke of half-time when Jose Bosingwa saw his free-kick from the edge of the box come back off the post with Guzan well beaten.
Villa capitalised on the escape and equalised deep into stoppage-time at the end of the first half with Agbonlahor heading home Matt Lowton’s cross from inside the six-yard box with their only noteworthy effort of the opening 45 minutes.
Villa looked a different team after the break and they turned the game on its head just before the hour mark when Weimann drilled home from the edge of the box after QPR failed to clear their lines from a corner.
QPR hit back and drew level on 73 minutes when Townsend saw his deflected shot from the edge of the box find the bottom corner after he was teed up by Park Ji-sung.
Villa grabbed the winner nine minutes from time when the impressive Weimann got to the byline before Julio Cesar and cut the ball back to Benteke to smash the ball home into the unguarded net.