Match ends, Aston Villa 2, Leeds United 3.
Aston Villa boss Dean Smith called Leeds United "the best side we've played" after they came back from two goals down to claim a stunning 3-2 stoppage-time win and go back to the top of the Championship.
Villa led 2-0 at half-time as Tammy Abraham's seventh goal in his past four home games - a close-range finish set up by John McGinn's bursting run - was quickly followed by Conor Hourihane's beautifully placed low left-foot curler.
But Leeds struck twice in five second-half minutes to draw level as half-time substitute Jack Clarke's stunning right-foot curler - his first goal for the club - was followed by a Pontus Jansson header.
And they won it five minutes into injury time when top scorer Kemar Roofe found the bottom corner to send the noisy visiting fans into raptures.
Marcelo Bielsa, the Leeds head coach, suggested that he would have settled for a point before Roofe scored.
"We were satisfied with the draw," Bielsa said. "But we felt a lot of euphoria to win, especially as it was in the last minute. And we deserved to win. We put in a lot of effort. The performance of the players was all very good."
The better side won - Smith
Villa boss Smith said: "Going 2-0 up in a game like this, you expect to see it out, especially at Villa Park. But they're the best side we've played so far and we got punished for our defensive lapses."
Villa have conceded 22 goals in 12 home games this season - the worst home defensive record in the division.
"It's happened too much," said Smith. "And it has reared its ugly head again.
"They were probably better than us but a draw was a fair result. Instead, it's my first defeat at Villa Park and it's a hard one to take.
"From their celebrations, I thought they'd actually won the title."
Bielsa was certainly not getting carried away, admitting: "We still have to play the same number of games. In football, you can't make any provision for what happens next. We will just try to win the games one by one, when they come."
Jack in the box makes a difference
Villa had already let a two-goal lead slip in costly circumstances at home this season when their 3-3 draw with Preston in September was followed by boss Steve Bruce getting the sack.
But that night the game was turned by a sending-off, whereas this one was transformed by a half-time substitution.
"Jack Clarke gave enthusiasm to the team," added Bielsa. "When I first saw him, I thought he was a good player, but I didn't think he would have quite the same influence he is showing now. He made an important contribution."
Even before Roofe's late winner, Clarke's superb strike, followed closely by Jansson's towering header, showed that, after so many seasons of false hope, this Leeds side have the qualities to finally get back to the Premier League, where they last played in 2004.
This win took the number of points they have amassed from losing positions to 14 under Bielsa - compared with just six in the whole of last season.
Against a Villa side already showing defensive frailties, without Neil Taylor and on-loan Axel Tuanzebe, it might still have been a different story for Leeds if Jonathan Kodjia had not blasted over at the start of the second half.
But United had already served notice of their threat before the break, Ezgjan Alioski curling just wide.
And after the quickfire two-goal turnaround from Clarke and Jansson, who rose above James Chester to head home, Leeds went chasing a third.
Mateusz Klich's cross had to be tipped over by Orjan Nyland and Villa survived a big handball shout against Glenn Whelan, despite frantic appeals from Roofe, in close attendance.
But Roofe had the final word in injury time, taking advantage of Ahmed Elmohamady's poor headed clearance to fire home his 11th Championship goal of the campaign.
For the past 10 seasons, the side who have been top at Christmas have gone on to win promotion.
"There is an exception to every rule," smiled Bielsa. "I hope we are not the exception."
Injuries hit both camps
Already without left-back Taylor, Villa are now waiting on news about on-loan Manchester United centre-half Tuanzebe after a foot injury suffered in training.
That comes on top of their plans to give their former defender James Collins a short-term contract being thwarted when he too suffered a training ground injury.
"It's something we always knew we'd have to deal with in January," said Smith. "Axel's is a metatarsal injury, which doesn't look great.
"And we still have Jack Grealish in a protective boot at the moment which we will have to keep assessing."
Leeds, already missing striker Patrick Bamford - who had only recently returned from a three-month lay-off - were further weakened by the pre-match withdrawal of left wing-back Barry Douglas.
"He felt weak during the warm-up," said Bielsa. "He told us he was not feeling well so I took the decision not to pick him.
"Bamford fell awkwardly going for a header and felt something in his knee. I think it's not serious and I hope he's back faster than the previous one."
- 27El Mohamady
- 6WhelanSubstituted forBjarnasonat 73'minutes
- 26KodjiaSubstituted forEl Ghaziat 62'minutes
- 7McGinnBooked at 81mins
- 11BolasieBooked at 7minsSubstituted forHoganat 83'minutes
- 22El Ghazi
- 40DavisSubstituted forShackletonat 78'minutes
- 43KlichBooked at 69mins
- 10AlioskiBooked at 87mins
- 22HarrisonSubstituted forClarkeat 45'minutes
- 7RoofeBooked at 90mins
- Andy Madley
- Shots on Target
Second Half ends, Aston Villa 2, Leeds United 3.
Kemar Roofe (Leeds United) is shown the yellow card for excessive celebration.
Goal! Aston Villa 2, Leeds United 3. Kemar Roofe (Leeds United) left footed shot from the centre of the box to the bottom right corner.
Pontus Jansson (Leeds United) wins a free kick in the defensive half.
Foul by Scott Hogan (Aston Villa).
Attempt saved. Mateusz Klich (Leeds United) right footed shot from outside the box is saved in the top right corner. Assisted by Ezgjan Alioski.
Jack Clarke (Leeds United) wins a free kick in the attacking half.
Foul by Ahmed El Mohamady (Aston Villa).
Luke Ayling (Leeds United) wins a free kick in the defensive half.
Foul by Anwar El Ghazi (Aston Villa).
Offside, Leeds United. Mateusz Klich tries a through ball, but Pablo Hernández is caught offside.
Ezgjan Alioski (Leeds United) is shown the yellow card.
Foul by Ezgjan Alioski (Leeds United).
Anwar El Ghazi (Aston Villa) wins a free kick on the left wing.
Corner, Aston Villa. Conceded by Pontus Jansson.
Corner, Aston Villa. Conceded by Adam Forshaw.
Substitution, Aston Villa. Scott Hogan replaces Yannick Bolasie.
Corner, Aston Villa. Conceded by Pontus Jansson.
Attempt blocked. Tammy Abraham (Aston Villa) right footed shot from the right side of the box is blocked. Assisted by Birkir Bjarnason.