Nottingham Forest closed in on the Championship play-offs following a thumping 3-1 triumph over QPR.

On-loan Watford striker Andre Gray had given the visitors a 1-0 lead at the break as he scored in a third successive game for the first time in six years.

But a spectacular Djed Spence long-range strike sparked a scintillating second-half comeback from Forest that was completed by midfielder Ryan Yates' fourth goal in consecutive contests and Brennan Johnson's 12th of the season.

The result meant Steve Cooper's men have now won eight and drawn one of their last nine home fixtures, while QPR have now tasted victory just once in 38 visits to the City Ground.

Mark Warburton's men had made a bright start, however, with Chris Willock particularly menacing and his exciting burst created an early chance for Gray that was well saved by home keeper Ethan Hovarth only for the former to be flagged offside.

Another exciting raid down the right by Willock led to a further opportunity for Gray that he miscued in front of goal and Lee Wallace could not beat Hovarth from an unfavourable angle.

Forest were only denied a goal from their first attack of the match, though, by a smart reflex save from Rangers keeper David Marshall in the 21st minute.

Marshall kept out a point-blank effort from Yates after James Garner's deep corner had been met in the air by Tobias Figueiredo and hooked back into the six-yard box by Philip Zinckernagel.

Seconds later, Yates had another excellent chance to open the scoring but failed to direct Zinckernagel's firmly driven cross towards goal from three yards out.

The visitors suffered a blow just past the half-hour mark when Willock limped out of the action but the persistent Gray was not to be denied after 40 minutes when he spun past Figueiredo to race on to substitute Ilias Chair's ball through the right channel and blasted a low diagonal shot past Hovarth from 10 yards.

An all-action first half could have still ended level but a stretching Keinan Davis missed the target from six yards after Marshall could only parry Garner's well-struck free-kick.

The hosts were back on terms, however, 10 minutes after the interval when Zinckernagel's square pass found Spence and he thundered a 30-yard effort into the roof of Marshall's net.

Buoyed by a raucous home crowd, Davis then went close twice with a drive that flashed wide and a header from the ever-dangerous Spence's right-wing centre.

Marshall went on to throw out his left arm to push Zinckernagel's powerful edge-of-the-box drive around a post but the Hoops keeper was powerless to prevent Yates turning in Garner's resulting 83rd-minute, right-wing corner from six yards.

Four minutes later, victory was sealed when Sam Surridge charged down the right and sent in a cross that saw Marshall save from Cafu only for Johnson to follow up and blast in from 10 yards.

QPR: Marshall, Dunne, Dickie, Sanderson, Odubajo, Amos (Johansen 62), FIeld, Dozzell (Hendrick 62), Wallace, Willock (Chair 31), Gray. Unused subs: Barbet, Austin, Adomah, Mahoney.

Attendance: 27,872.