Harry Redknapp did his best to put on a brave face but the sense of disappointment was inescapable. For a Queens Park Rangers team in the throes of recovery, this gut-wrenching defeat was a relapse with potentially dire consequences. Seven points adrift of safety with eight games remaining, Rangers are once again staring relegation in the face.

Survival looks improbable, rather than impossible, but this result leaves little margin for error. Redknapp believes QPR need four victories and two draws – the sort of return a team chasing a top-four finish would target – to avoid slipping into the Championship. With fixtures against Fulham, Wigan, Stoke, Reading and Newcastle still to come, it could be worse. Redknapp also knows, though, that it could be a lot better. His voice was laced with regret as he reflected on the ramifications of losing an extraordinary match.

"We have to go and win away from home somewhere," the QPR manager said. "We have to win at Fulham, we have to win at Reading and we have to win our home games. If we can do that, we can still stay up. It is not impossible. It is going to be hard, it is going to be tough. But we are still in there. We are playing well at the moment, that is the encouraging thing."

This was an opportunity for QPR to close the gap on Aston Villa to one point and turn up the heat on Paul Lambert and his players. For 45 minutes it looked as if that would be the case but two incidents in first-half injury-time may come to define QPR's season. Ahead through Jermaine Jenas and totally in control, QPR came within inches of adding a second goal when José Bosingwa's free-kick struck the post. The significance of that moment became clear 103 seconds later when Gabriel Agbonlahor's close-range header changed the course of the game.

QPR never recovered. "Let's be honest, if you had said to me before the Southampton away game, Villa away, Sunderland at home, 'Would you take five points?', I would have said: 'Yeah, we'll take five,' and we end up with six," Redknapp said. "Today was disappointing because we needed to stop Villa winning."

Indebted to the excellent Brad Guzan for making three outstanding saves in the first half, Villa were inspired by Andreas Weimann after the interval.

The Austrian, who never stopped running, drilled home his 11th of the season and also set up the winner for Christian Benteke, after Andros Townsend had equalised with a deflected shot. "The biggest compliment I can give Andi is he is a brilliant guy and gives you everything he's got," said Lambert.

The Villa manager's celebrations when Benteke swept home provided a measure of how much this result meant to him. With back-to-back victories over two of their relegation rivals – the first time Villa have won consecutive Premier League matches in 22 months – Lambert's players have delivered when it mattered most.

Man of the match Andreas Weimann (Aston Villa)