An own goal by Coventry goalkeeper Keiren Westwood as he tried to keep out Kyle Walker's cross and a flicked header from Tommy Smith after a delightful pass from Adel Taarabt secured all three points for the Loftus Road outfit.
Cardiff City were humbled 4-1 away at Watford.
Peter Whittingham's strike was not enough as two Danny Graham goals and one each from Marvin Sordell and John Eustace kept the Hornets in the top eight.
Graham even had the luxury of missing a first-half penalty.
Pompey clawed back goals through David Nugent and two Andy O'Brien own goals to snatch an unlikely point.
Norwich City twice came from behind to beat Sheffield United 4-2 at Carrow Road thanks to Wes Hoolahan's hat-trick and another from Michael Nelson.
Andy Reid and Richard Cresswell had put the Blades ahead in the first half.
Scunthorpe strengthened their survival chances with a 2-0 win over Burnley at Turf Moor - Martyn Woolford and Chris Dagnall with the goals.
Neil Dann's free-kick was not enough for Crystal Palace to edge past Bristol City at Ashton Gate after Brett Pitman rescued a point with a last-minute penalty.