Patrick Bamford's 15th Premier League goal of the season helped Leeds United to a 3-1 win over Tottenham, all but ending their opponents' tenuous Champions League hopes.

Leeds laid siege to their visitors in typical fashion and led through Stuart Dallas' eighth league goal of the campaign.

Son Heung-min levelled and Harry Kane had a goal disallowed for offside before Bamford again pressed his claims for joining the England captain in Gareth Southgate's Euro 2020 squad.

Kane hit the crossbar with a free-kick inside the final 20 minutes at Elland Road but chasing the game left Tottenham increasingly vulnerable on the break and Rodrigo completed the misery for Ryan Mason's side.

Hugo Lloris got down and across to his left well to deny Bamford after Jack Harrison slid a pass into the Leeds striker's path in the seventh minute.

Lloris again excelled himself as Sergio Reguilon turned Harrison's virtually undefendable cross towards his own goal, but Dallas was on hand to smash home and give Leeds a deserved 13th-minute advantage.

Spurs' much-vaunted front four led the response impressively.

Robin Koch blocked a Dele Alli effort from a Son pass but when the roles were reversed – the midfielder cleverly delaying his throughball – the Korea forward dispatched his 17th goal of the season.

Only a fractional offside on the end of another Alli pass prevented Kane from putting Tottenham ahead, although back came Leeds – Dallas seizing on some sloppy defending from Eric Dier and Reguilon and setting in motion a slick move from which Bamford converted Ezgjan Alioski's low cross with Southgate watching on.

Leeds 3-1 Tottenham

Marcelo Bielsa was concerned enough by Spurs' early second-half pressure make a change before the hour, Raphinha replacing Tyler Roberts, and Mateusz Klich's snap-shot forced another superb stop from Lloris.

Opposite number Illan Meslier excelled himself to push Serge Aurier's deflected cross to safety, although he was relieved to see Kane's 72nd-minute free-kick cannon against the top of the bar.

Meslier saved with his feet from Erik Lamela before another substitute, Rodrigo, calmly collected Raphinha's pass to seal the points.

What does it mean? Spurs' Champions League hopes fade to almost nothing

Spurs lie sixth with three matches to play, five points behind fourth-placed Chelsea having played a game more. Liverpool and Everton, two and four points behind them respectively, each have two games in hand. Mathematically possible, sure, as they can still reach 65 points. But not realistically.

Indeed, Mason's men are only six points better off than Leeds, who are up to ninth and eyeing a top-10 finish on their Premier League return having hit the 50-point mark.

Dele dallies with his best form

On another day when positives where in short supply for Spurs, Alli produced some welcome glimpses of his sublime talent. Mason removed him midway through the second half, presumably on match fitness grounds after he was a marginal figure under Jose Mourinho. His assist for Son's goal was a cute piece of play and he matched Son, Kane and Giovani Lo Celso for two chances created.

Bale unable to make hay

Gareth Bale was Spurs' main man with a hat-trick in the 4-0 win over relegated Sheffield United last time out, as Mason combined him with Son, Kane and Alli to electrifying effect. It was a different story for the Wales star against lively opponents in a high-octane contest, however. Bale had a solitary shot blocked and created nothing for his colleagues in his 67 minutes on the field.

What's next

Leeds will continue their pursuit of a top-half finish at Burnley next Saturday, with Tottenham hosting Wolves a day later.