Match ends, Queens Park Rangers 6, Cardiff City 1.
Bright Osayi-Samuel and Nahki Wells helped Queens Park Rangers end a four-match winless streak with an emphatic home victory over Cardiff City.
Wells put the home side in the driving seat when he raced on to a ball over the top to score, then turned provider with a cute flick that set Osayi-Samuel up for his first.
The winger's second was even better as Osayi-Samuel surged in from the left to beat Cardiff goalkeeper Neil Etheridge.
Wells grabbed his second as he followed up a scuffed shot to head home, before Ilias Chair set up Eberi Eze for QPR's fifth.
A misplaced Aden Flint back-pass allowed Wells to claim his hat-trick, with Will Vaulks' late goal scant consolation for Cardiff.
The result was QPR's best win since a 6-0 hammering of Crystal Palace in the final league game of the 1998-99 season.
Cardiff boss Neil Harris switched to five at the back for the trip to the Kiyan Prince Foundation Stadium, as the Bluebirds sought to do the double over their hosts having beaten them in October.
Despite fielding three centre-backs there was no place in the starting line-up for Sean Morrison as he returned from a three-match ban, with the Cardiff skipper named on the bench.
It took just nine minutes for QPR to break through that rearguard as Eze's long lofted pass caught the Bluebirds napping, allowing Wells to guide the ball into the net with his head for his 10th goal of the season.
Cardiff perked up after that early setback and Junior Hoilett's shot was just wide of the post.
QPR should have been two up, however, when Eze fired over the bar after being set free at the back post by Chair and Osayi-Samuel.
But Osayi-Samuel made no mistake when Wells' flicked ball over Sol Bamba and Jazz Richards took the Cardiff defenders out of the running, allowing his winger to fire home.
The home side showed no mercy and were three up before the break, as Osayi-Samuel cut in from the left to surge past two defenders and beat an exposed Etheridge.
Harris responded at half-time by sending on Lee Peltier in place of Bamba and Danny Ward for Leandro Bacuna.
But plan B was soon in tatters, as Wells grabbed his second when he was quickest to pounce with a header after Eze could only hit a shot into the ground.
The one-way traffic continued as QPR again worked their way in behind the hapless Cardiff defence, as Chair went past Curtis Nelson before squaring for Eze to score.
Wells grabbed his hat-trick when he seized on Flint's terrible back-pass, despite a despairing rescue attempt from Nelson.
Cardiff salvaged some consolation as Vaulks scored in injury time with his first goal for the Bluebirds.
Despite doing their goal difference a power of good, QPR remain 15th in the Championship but are now just two points behind Cardiff in 12th.
Queens Park Rangers manager Mark Warburton:
"The one difference is that we put the ball in the back of the net.
"The stats are the same as the other games we played, but today we were far more clinical.
"As long as we create chances, then come the end of the season we'll be in a good place.
"It's about creating quality chances and we've been doing that - look at the chances we've missed. Today we scored."
Cardiff manager Neil Harris told BBC Radio Wales:
"It was hugely disappointing and hugely unexpected, I didn't recognise my team out there defensively.
"My teams don't defend like that, don't get opened up like that. One v one we weren't good enough... we'll be discussing those goals we conceded.
"First and foremost I need to apologise on behalf of the group... to our fan base that have travelled at an expensive time of the season. They don't deserve that."
- 37LeistnerBooked at 39minsSubstituted forat 79'minutes
- 8AmosBooked at 86mins
- 20Osayi-SamuelSubstituted forSmithat 76'minutes
- 19ChairSubstituted forPughat 66'minutes
- 21WellsSubstituted forHugillat 67'minutes
- 7BacunaSubstituted forWardat 45'minutes
- 22BambaSubstituted forPeltierat 45'minutes
- 17TomlinBooked at 32mins
- 9GlatzelSubstituted forWhyteat 69'minutes
- Darren England
- Shots on Target
Second Half ends, Queens Park Rangers 6, Cardiff City 1.
Goal! Queens Park Rangers 6, Cardiff City 1. Will Vaulks (Cardiff City) right footed shot from outside the box to the top right corner.
Attempt blocked. Gavin Whyte (Cardiff City) right footed shot from the centre of the box is blocked. Assisted by David Junior Hoilett.
Attempt missed. Lee Tomlin (Cardiff City) left footed shot from very close range is high and wide to the left. Assisted by Danny Ward.
Jordan Hugill (Queens Park Rangers) wins a free kick in the defensive half.
Foul by Marlon Pack (Cardiff City).
Luke Amos (Queens Park Rangers) is shown the yellow card for a bad foul.
Foul by Luke Amos (Queens Park Rangers).
Lee Tomlin (Cardiff City) wins a free kick in the attacking half.
Corner, Cardiff City. Conceded by Dominic Ball.
Toni Leistner went off injured after Queens Park Rangers had used all subs.
Corner, Queens Park Rangers. Conceded by Aden Flint.
Substitution, Queens Park Rangers. Matthew Smith replaces Bright Samuel.
Corner, Queens Park Rangers. Conceded by Curtis Nelson.
Substitution, Cardiff City. Gavin Whyte replaces Robert Glatzel.
Foul by Luke Amos (Queens Park Rangers).
Lee Tomlin (Cardiff City) wins a free kick in the defensive half.
Substitution, Queens Park Rangers. Jordan Hugill replaces Nahki Wells.
Substitution, Queens Park Rangers. Marc Pugh replaces Ilias Chair.