Patrick Bamford scored for Leeds United in front of watching England boss Gareth Southgate to help dent Tottenham's European chances.
In an absorbing game at Elland Road, Stuart Dallas put Leeds ahead with his eighth league goal of the season, the Northern Ireland midfielder pouncing from close range after Hugo Lloris' terrific reaction save to prevent Sergio Reguilon putting through his own net.
The lead lasted 12 minutes, Son Heung-min equalising with a clinical finish after Dele Alli was allowed to run unchallenged before threading a clever pass into the South Korea forward's path.
But Leeds responded through Bamford, who tapped in Ezgjan Alioski's cross before substitute Rodrigo confirmed Spurs' first league defeat in three games under interim manager Ryan Mason.
On a frustrating day for Spurs, Harry Kane had two goals ruled out for offside and hit the bar from a free-kick, while Illan Meslier produced an excellent save to keep out Serge Aurier's deflected attempt.
With three matches left, sixth-placed Spurs are five points off fourth spot with both teams immediately above them - West Ham and Chelsea - having games in hand.
Leeds, who started the weekend in 11th spot, climbed above Aston Villa and Arsenal - who both play on Sunday - into ninth.