Leeds United 2 QPR 1 - Roofe at the double as penalty wait ends.

A 58-GAME wait for Leeds United to be awarded a penalty ended as the hosts kept their promotion bandwagon on course with a hard-fought victory over the visiting R's.

Marcelo Bielsa

It proved a milestone occasion for the hosts, with the beneficiary being two-goal Kemar Roofe, who took his tally into double figures for the season to help the Whites record a fourth successive victory.

Roofe successfully assumed spot-kick duties early in the second half after Rangers captain Toni Leistner was penalised for handball in the box - despite his protestations.

Sign up to our daily newsletter

The i newsletter cut through the noise

Earlier, the striker - the key figure on a day when he could and should have taken home the match ball - had levelled in first half stoppage-time to cancel out a clinical 26th-minute opener from ex-Huddersfield Town striker Nakhi Wells.

Leeds had to withstand spirited late pressure from Rangers, but held out to secure three precious points.

It was a first-half that started and ended in noteworthy fashion for Leeds, who had lost their way prior to Roofe's dramatic and timely intervention seconds before the interval.

On the front foot from the first whistle amid teeming rain, Leeds looked truly in the mood and the portents looked set fair for a long afternoon for the Londoners.

Roofe, heavily involved in the first period, steered an early chance wide under pressure after a pinpoint cross from Pablo Hernandez, before the Spaniard - wearing the captain's armband in the absence of Liam Cooper - skewed a volley wide after excellent work from Mateusz Klich and the overlapping Jamie Shackleton, making his first-ever league start at Elland Road.

Rooft then almost got a toe-end on a dangerous through-ball when any contact would have yielded a goal and the United striker was soon left to rue his fortune again, shooting meekly at Joe Lumley after a looping deflected shot from Klich landed at his feet in front of goal.

Roofe persisted and got his rewards late on, but not before Leeds went behind four minutes before the half-hour mark.

Kalvin Phillips misjudged the flight of Angel Rangel's punt forward and the error was compounded when Wells nipped in front of the indecisive Pontus Jansson before racing clear on goal and composing himself before steering home a precision low shot past the clutches of Bailey Peacock-Farrell.

Much of the remainder of the half saw Leeds lose their way, but there was redemption for the hosts and Roofe when he latched onto Hernandez's ball into the danger area and converted from close range.

After a pulsating end to the first half, the drama continued on the restart, starting when R's substitute Josh Scowen was booked within half a minute of entering the fray.

A further unexpected development soon arrived six minutes in and it was a thoroughly welcome one for Leeds, whose epic wait for a penalty finally ended.

Roofe assumed spot-kick duties after Leistner was penalised for handball and coolly sent Lumley the wrong way.

Clearly scenting the match-ball, Roofe soon saw Lumley flap at a low angled shot as Leeds went for the kill in front of the Kop.

Roofe continued to be the central figure and Lumley got his angles right to save his close-range effort after a pinpoint pass from the recalled Samu Saiz.

Leeds continued to hunt the third goal to put the game to bed, but were afforded a late on when Wells fired over with the goal at his mercy after good work on the right by Rangel.

Wells then threatened again with an opportunist effort flying just wide after the forward cut inside neatly down the left.

The away pressure continued with Peacock-Farrell racing out to block an effort on the edge of his box from Eberechi Eze after unconvincing defending from Phillips.

Rangers continued to press and Peacock-Farrell had to be alert to tip over a speculative lob from Jake Bidwell as the visitors laid siege late on.

But the hosts held out for another key win.

Leeds United: Peacock-Farrell; Jansson, Phillips, Douglas; Shackleton, Klich, Forshaw, Saiz (Halme 81); Hernandez (Clarke 86), Roofe, Alioski. Substitutes unused: Huffer, Bamford, Harrison, Baker, Davis.

QPR: Lumley, Rangel, Lynch, Leistner, Bidwell, Cameron (Scowen 45), Luongo; Wszolek (Osayi-Samuel 73), Eze (Smith 78), Freeman, Wells. Substitutes unused: Ingram, Furlong, Cousins, Hemed.

Referee: P Bankes (Merseyside).

Attendance: 33,781.