Jarrod Bowen had given Leonid Slutsky’s side a first half lead, but that was cancelled out by Matt Smith 16 minutes from time before Idrissa Sylla struck in added time to give the home side all three points.
Kevin Stewart made his debut as Slutsky made three changes to the side that lost to Wolves in midweek. David Meyler and Seb Larsson also came into the side, with Sam Clucas, Markus Henriksen and Abel Hernandez missing out.
A minute’s silence was observed ahead of kick-off following the terrible events in Barcelona on Thursday.
Jarrod Bowen and Fraizer Campbell caused early problems for the QPR back line, with Campbell feeling he should have been awarded a penalty in the fourth minute after his shirt was pulled when attacking a Kamil Grosicki corner but the referee waved away his appeal.
Stewart’s debut lasted less than ten minutes before he hobbled off to be replaced by Adama Diomande, leaving Seb Larsson to drop into a deeper role in midfield.
QPR created the first real chance of the afternoon when a low ball was played back for the unmarked Luke Freeman who side-footed wide when he probably should have at least hit the target.
The Tigers then had two chances in quick succession. First, a counter-attack sparked by Campbell’s ball to Grosicki had the visitors deep in QPR territory but the Polish international over-hit his cross towards Diomande, before Diomande himself had a shooting opportunity but he sent it just wide from the edge of the box.
Bowen then brought a save out of home goalkeeper Alex Smithies as a powerful drive was pushed over the bar.
Good defending from Michael Hector at the other end prevented Conor Washington from having a tap-in at the far post before a foul by Michael Dawson gave QPR a free kick right on the edge of the box, but Kazenga LuaLua’s low effort was blocked by the wall.
QPR were looking the more threatening, but it was the Tigers who opened the scoring ten minutes before half time. Building down the right, the ball was played back for Meyler to cross to the far post where Bowen managed to control before producing a low finish from close range.
Slutsky’s men took that lead into the interval, during which the Head Coach made his second change of the afternoon with centre back Ondrej Mazuch replacing Campbell as the Tigers switched to a five-man defence.
Meyler picked up a booking for a foul on LuaLua during what was a quiet opening to the second period, with the home fans becoming increasingly frustrated at their team’s efforts to get back on level terms.
Larsson was the next man into the book, taking one for the team as he ended Massimo Luongo’s advances towards the Tigers’ box, before Allan McGregor was called upon to make a routine save from Jamie Mackie.
Although QPR were enjoying the better of things in terms of territory, the visitors were looking threatening on the counter-attack and were unlucky not to profit when Diomande’s neat turn and through ball proved just too strong for Grosicki.
At the other end, McGregor saved from substitute Smith’s firm header before the goalkeeper got lucky when Sylla’s strike rebounded off the post and against McGregor before going just wide.
McGregor was powerless to stop Rangers from levelling moments later. A wonderful cross to the far post from Freeman found Smith and he had no trouble in heading into the net. 1-1 with 16 minutes left to play.
Ola Aina sent a shot over the QPR bar as the game entered the final ten minutes while McGregor was yellow carded for time-wasting at a free kick.
Bowen went close to putting the Tigers back in front before QPR went up the other end to bag a winner in added time. McGregor was left exposed and when the ball was lifted over him, Sylla was following in to score from close range.
Slutsky’s men saw an effort cleared off the line as they desperately went in search of an equaliser but it didn’t come.
Queens Park Rangers: Alex Smithies, James Perch, Nedum Onuoha, Alex Baptiste (Pawel Wszolek 63), Kazenga LuaLua (Matt Smith 57), Josh Scowen, Massimo Luongo, Luke Freeman, Jake Bidwell, Conor Washington, Jamie Mackie (Idrissa Sylla 72).
Subs Not Used: Matt Ingram, Darnell Furlong, Ryan Manning, Ariel Borysiuk.
Hull City: Allan McGregor, Ola Aina, Michael Dawson, Michael Hector, Max Clark, Jarrod Bowen, David Meyler, Kevin Stewart (Adama Diomande 10), Kamil Grosicki, Seb Larsson, Fraizer Campbell (Ondrej Mazuch 46).
Subs Not Used: Will Mannion, James Weir, Dan Batty, Greg Olley, Brian Lenihan.
Referee: Mr J. Linington.
Attendance: 12,609 (829)