The Tigers were well in the contest heading into the final 20 minutes, but a Jordy de Wijs own goal broke the deadlock before the home side added a second eight minutes from time, taking advantage as George Long lay injured inside the six-yard box.
It was cruel on Grant McCann’s side, who had looked set to deny their opponents a return to the top of the Sky Bet Championship table.
McCann named the same eleven that started the weekend victory over Stoke City and there were no changes on the bench, either, as the Tigers sought a repeat of last season’s win in West Yorkshire.
Torrential rain in the three hours leading up to kick-off left a very slick playing surface and the visitors threatened early when Daniel Batty saw a shot blocked on the edge of the area.
Jarrod Bowen then dragged an early attempt wide before a first Leeds chance came as Helder Costa burst into the box only to slip as he looked to get a shot away.
Tom Eaves headed a Kamil Grosicki near-post corner into the side-netting just after the midway point in the half, while Patrick Bamford did the same for Leeds from their own corner a few moments later.
Pablo Hernandez curled an effort over the bar as the hosts began to apply more pressure as the interval approached, but both sides would head back into the changing rooms without a shot on target being registered.
Tom Eaves volleyed wide within seconds of the restart and the big striker had another chance when played in by Bowen but a shot was saved by Kiko Casilla.
Leeds had an effort ruled out for offside and Kalvin Phillips was booked for a foul on Jackson Irvine before Leonardo Da Silva felt he should have been awarded a penalty when going down inside the box.
de Wijs made an important block to keep out Jack Harrison’s effort, but the Dutch defender was the unfortunate man who put through his own net in the 73rd minute as he diverted a Costa cross past Long.
A first change from the Tigers saw Josh Bowler come on for Batty and the substitute soon set up a chance for Jackson Irvine who blazed over the bar from 18 yards.
Eaves saw his header somehow kept out by a combination of Casilla and a defender, and from their Leeds broke to seal the points. One effort came back off the woodwork and, with Long down after a collision with Bamford, Ezgjan Alioski fired into the far corner.
Long was left needing lengthy treatment but was cleared to continue, while Keane Lewis-Potter came on for Callum Elder before a final change came late on as George Honeyman replaced Grosicki and he picked up a booking in added time.
Leeds United: Kiko Casilla, Luke Ayling, Ben White, Gaetano Berardi, Stuart Dallas, Kalvin Phillips, Mateusz Klich (Barry Douglas 90), Pablo Hernandez, Jack Harrison (Ezgjan Alioski 69), Helder Costa (Pascal Sruijk 90), Patrick Bamford.
Subs Not Used: Kamil Miazek, Eddie Nketiah, Robbie Gotts, Jack Clarke.
Hull City: George Long; Eric Lichaj ©, Reece Burke, Jordy de Wijs, Callum Elder (Keane Lewis-Potter 85); Daniel Batty (Josh Bowler 74), Leonardo Da Silva Lopes, Jackson Irvine; Jarrod Bowen, Kamil Grosicki (George Honeyman 90), Tom Eaves.
Subs Not Used: Matt Ingram, Ryan Tafazolli, Stephen Kingsley, Matthew Pennington.
Referee: Mr D. Webb.