Christian Benteke eased Aston Villa's relegation fears and pushed bottom-placed QPR nearer to the drop as his late goal sealed a 3-2 win in a pulsating Barclays Premier League clash.
Villa goalkeeper Brad Guzan made two excellent saves in the space of 60 seconds to keep his side on level terms as QPR made a good start. The United States international backpedalled to turn a looping header from Christopher Samba over the bar after he had connected with a Jose Bosingwa free kick.
Then Guzan made an even better save to turn aside another effort from Samba, this time from just inside the box.
Joe Bennett's misdirected pass led to Jenas giving QPR the lead after 23 minutes. Jenas released Zamora in space and his low drive was parried by Guzan but Jenas continued his run into the box and was first to the loose ball to make no mistake from close range.
The woodwork came to Villa's rescue when Bosingwa's powerful free-kick struck a post, but in first-half injury-time, Agbonlahor brought the home side level when he peeled off to the far post and headed home a right-wing cross from Matt Lowton.
Julio Cesar tipped over Weimann's header, but after 59 minutes Weimann cut inside from a Bennett pass before drilling a low left-footed shot past Cesar from 15 yards.
Then with 17 minutes left the impressive Townsend made it 2-2. Loic Remy and Ji-Sung Park combined to tee up Townsend, and his shot took a slight deflection as it flew past Guzan.
Villa responded, and after 81 minutes, Weimann turned goal-maker with his low cross turned in by Benteke after good play by substitute Charles N'Zogbia. This time QPR had no response, and they now stand seven points adrift of safety with eight games to play.