The Scotland international settled the contest midway through the first half with a 30-yard strike.
QPR should have picked up at least a point with Bobby Zamora causing plenty of problems but spurning several opportunities.
Blackburn were plunged further into relegation trouble as they were soundly beaten 3-0 by Swansea at the Liberty Stadium.
Gylfi Sigurdsson produced a brilliant curler to grab his first goal on home soil and give Swansea a 37th-minute lead, with Nathan Dyer doubling the advantage six minutes later. Scott Dann then capped a terrible day for Rovers by putting through his own net just after the hour mark. Midfielder David Dunn hit the post with the visitors’ best effort but this was a miserable display that leaves Steve Kean’s side three points from safety in 19th place having played at least a game more than the sides around them.
Sunderland goalkeeper Simon Mignolet denied relegation-haunted Wolves an invaluable victory with a fine late save in the Barclays Premier League which ended 0-0.
The Belgium international, who had earlier seen Sylvan Ebanks-Blake fire wastefully wide from close range, clawed away Steven Fletcher’s 81st-minute header to ensure a poor game ended in stalemate.
James McClean had earlier fired into the side-netting for the Black Cats and forced a 73rd-minute save from Wayne Hennessey with a close-range header.