The visitors took the lead on 45 minutes through Dexter Blackstock but two late goals from substitute Stuart Elliott sealed victory for the Tigers.
Michael Turner should have put Hull in the lead midway through the first half as Damien Delaney cleared him through on goal, but he lashed his right-foot shot wide of the post from 12 yards.
Steve McPhee had a great opportunity midway through the half as Damion Stewart attempted to head the ball back to his keeper. but it lost power and McPhee was able to nip in and attempt to loop the ball over Simon Royce from ten yards but his right-footed effort bounced just wide of the post.
QPR took the lead in first-half injury time as Lee Cook whipped the ball across the box from the left, keeper Boaz Myhill attempted to collect it but failed to hold on to the ball and Ray Jones tapped the ball across to Blackstock, who passed the ball into the net from close range.
The home side hit the bar midway through the second half as Dean Marney curled in a right-footed corner and Turner rose to power a header against the crossbar and QPR were able to clear.
Hull did grab the equaliser on 85 minutes as Marney raced into the box from the right and played the ball in to substitute Elliott who smashed the ball into the net from close range.
Cook was sent off for QPR moments later after receiving a second yellow card for dissent.
Hull sealed the comeback in injury time as Marney whipped in a corner from the right and Elliott rose to head the ball into the back of the net and score his second goal in five minutes.