At a glance
Leeds' Brenden Aaronson goes closest to breakthrough in first half
Sasa Lukic has Fulham's only shot on target in the match
Substitute Lukas Nmecha comes on to hit the winner in 91st minute
Lukas Nmecha came off the bench to score a 91st-minute winner as a dominant Leeds ended Fulham's six-game unbeaten run in the Premier League.
The Cottagers were far from convincing in a game of few chances and paid the price when Nmecha turned home a cross from captain Ethan Ampadu for the game's only goal.
It was a deserved victory for Leeds, who probed for an opening throughout the second half and remain eight points clear of the relegation zone, with 18th-placed West Ham earning a shock win at Tottenham.
It was a cagey first half at Elland Road with a yellow card to Fulham boss Marco Silva for dissent evoking the loudest cheers from the Leeds supporters.
Bernd Leno looked shaky in Fulham's goal during the opening exchanges but in-form Brenden Aaronson failed to test the German when sent through, instead ballooning over from a rare opening before the break.
Leeds built some momentum on their return to the pitch and Dominic Calvert-Lewin brushed the side-netting after meeting a cross from Aaronson just before the hour mark.
James Justin then shot straight at Leno after making space inside the box while at the other end, Emile Smith Rowe failed to hit the target from 30 yards with Leeds goalkeeper Karl Darlow a long way off his line.
Leno did not have to move to catch Calvert-Lewin's shot from the edge of the box in the 80th minute but Leeds finally found the winner in injury time through Nmecha, who was brought on only 10 minutes earlier.
After 22 matches Leeds sit 16th with 25 points while Fulham are 10th with 31 points.
Leeds analysis: Hosts bounce back brilliantly
Leeds stayed 'relentless' - Farke
In recent weeks, Leeds have looked a far cry from the side that left Craven Cottage empty-handed after a late defeat when these teams met back in September.
Daniel Farke's decision to shift to a back three in late November has transformed their season as they went on a seven-game unbeaten run in the Premier League.
That momentum was briefly halted at St James' Park last week.
So the onus was firmly on Leeds to bounce back against an in-form Fulham side who were harbouring European ambitions this season. And bounce back they did.
After an underwhelming first half Leeds were on top of Fulham after the break, restricting the visitors to only three shots while attempting nine.
Noah Okafor did well to slip through Gudmundsson as they probed for a winner only for the Swede to fire over from close range, while Pascal Struijk had a header fly over from a corner.
Though they failed to pull further away from the drop zone, Leeds have now scored in nine league home fixtures in a row and are unbeaten in five matches at Elland Road.
And there were more positives to take from this victory for Farke, who witnessed his side keep a clean sheet on home soil for the first time since their first two home games of the season.
Fulham analysis: Cottagers fail to flatter
Silva defends substituting stars in Leeds loss
Fulham came into this fixture having matched the likes of Liverpool and Chelsea stride for stride this month during their unbeaten run in the league.
Heading into the weekend, only leaders Arsenal (16) had collected more points than the Cottagers (14) since their impressive run began on 13 December.
But they left much to be desired against Leeds, starting from their goalkeeper.
On day when his Leeds counterpart Lucas Perri was dropped in favour of Darlow, it was Leno who was uncharacteristically errant.
Only 20 minutes in the 33-year-old threw the ball straight at Ilia Gruev, who failed to place his shot past centre-back Joachim Andersen with the goal gaping, before the goalkeeper flapped at an Okafor cross.
The Cottagers finished the game with a single shot on target in 90 minutes and generated an xG of 0.39.
The biggest contribution from their in-form attacker Harry Wilson, who has 11 goal involvements this season, was perhaps a cynical foul on marauding Leeds wing-back Gabriel Gudmundsson early in the second half.
Silva decided for a defensive approach, throwing on centre-back Issa Diop after removing attackers Wilson and Raul Jimenez in a bid to protect the point.
But he will have questions to answer after his counterpart Farke was rewarded for his positive changes as Nmecha came off the bench to find the crucial goal late on.
What's next for these teams?
Leeds United will travel to Everton for their next Premier League match on Monday, 26 January (20:00 GMT).
Fulham, meanwhile, will welcome Brighton to Craven Cottage on Saturday, 24 January (15:00).
Player of the match
After the opportunity to rate players has closed, the score displayed represents the average from all the submissions by BBC Sport users.