Aston Villa may have beaten them 2-1 but Leeds boss Jesse Marsch said it was his side's "best performance" in his 11 months in charge.
Leon Bailey finished off a swift counter-attack to give Villa an early lead and Emiliano Buendia headed in their second before Patrick Bamford's late strike for Leeds.
Marsch told BBC Sport: "It was the most complete performance we have had since I've been here. It is a really positive sign for me. It hurts to lose but a really positive performance.
"I've tried hard to create a process and understanding of how we want to play football. I am really satisfied to now see it start to come together."
Marsch, who took over last February, sees his side remain two points above the drop zone.
"We have to stay focused on our process and not get stressed out by the table. I want us to stay laser focused on us," he said.
Bailey had a hand in both goals with the Jamaican winger finishing off a counter-attack after a great run by Boubacar Kamara in just the third minute to put the hosts ahead.
That was Villa's only shot in the first half, with Leeds having two penalty appeals rejected, a Rodrigo goal disallowed for offside and missing big chances.
Villa debutant Alex Moreno denied Rodrigo with a goalline clearance and keeper Emiliano Martinez pulled off a wonderful reaction stop to deny Jack Harrison from close range.
Unai Emery's hosts were better in the second half and they got the goal to make them more comfortable - thanks to the video assistant referee.
Bailey's shot was saved by Illan Meslier with Buendia heading the rebound over the grounded goalkeeper.
The goal was ruled out for offside but the VAR told referee Michael Oliver that Buendia was clearly onside - and it was given.
Leeds were given hope in the final 10 minutes though when Wilfried Gnonto cut the ball back for Bamford, making his return after two and a half months out with a groin injury, to slam home.
But they could not find an equaliser and remain only two points above the relegation zone, with Villa eight points further up the table in 11th.
It was not a perfect night for Villa, who lost left-back Lucas Digne and striker Ollie Watkins to injury in the first half.
Villa bounce back
This was Villa's first home win since the break for the World Cup in November - and timely after last weekend's shock FA Cup loss to Stevenage.
Veteran full-back Ashley Young was involved in most of their key moments in the game.
The goal came from a Leeds corner which Young hooked forward to Kamara, who ran half the length of the pitch before finding Bailey, whose finish was wonderful.
Moreno, a £13m signing from Real Betis on Wednesday, started on the bench but was needed within nine minutes after Digne suffered a shoulder injury.
He did well to deny Rodrigo after the striker had gone round the Villa keeper and later on Young blocked Gnonto's shot after Martinez denied Harrison.
Villa had one shot in the first half - that goal - and 10 efforts in the second half.
Their second goal had similarities to their first with Young tackling Tyler Adams in the box soon before Buendia headed in at the other end.
They had a scare after Bamford netted but Philippe Coutinho went close to making it safe with a 45-yard lob that went just over.
Emery said: "We struggled in the first half and in the second half we played better. It was difficult for us to play through the press.
"It was important to score the second goal because they were playing well to try and score and they did.
"It is no surprise for me that they came back. We needed the goalkeeper and Martinez's save was amazing.
"I am so, so happy with Leon Bailey. In the last game he had two really good chances to win the match and he was a bit upset and today he scored the goal and did the action in the second goal."
Frustrations for Leeds
Leeds felt they should have had a penalty when Douglas Luiz put his arms on Rodrigo, but it was not given, and Harrison shot wide as play went on.
There was another shout as Tyrone Mings pulled Gnonto's shirt at a corner - also turned down by the officials.
Rodrigo, Harrison and Gnonto all had chances before Rodrigo's goal was disallowed.
The frontman chested down a cross to Brenden Aaronson, whose shot was blocked by Mings. Rodrigo, on the ground, hooked in the rebound - but he had been offside initially so the goal did not count.
The second half was much more even but the chances kept coming for Leeds. Gnonto curled wide and Aaronson had a shot deflected over.
They finally got the goal they deserved when teenager Gnonto span past Young before bursting down the left and setting up substitute Bamford for his first goal since 2021.
Jesse Marsch's side pushed for an equaliser but Villa held out.
Player of the match
GnontoWilfried Gnonto
Aston Villa
Squad number44Player nameKamara
Squad number31Player nameBailey
Squad number1Player nameE Martínez
Squad number18Player nameYoung
Squad number15Player nameÁlex Moreno
Squad number10Player nameBuendía
Squad number6Player nameDouglas Luiz
Squad number41Player nameJ Ramsey
Squad number4Player nameKonsa
Squad number5Player nameMings
Squad number23Player namePhilippe Coutinho
Squad number9Player nameIngs
Squad number11Player nameWatkins
Squad number8Player nameSanson
Squad number27Player nameDigne
Leeds United
Squad number29Player nameGnonto
Squad number12Player nameAdams
Squad number19Player nameRodrigo
Squad number9Player nameBamford
Squad number1Player nameMeslier
Squad number2Player nameAyling
Squad number39Player nameWöber
Squad number11Player nameHarrison
Squad number6Player nameCooper
Squad number8Player nameRoca
Squad number5Player nameKoch
Squad number42Player nameGreenwood
Squad number30Player nameGelhardt
Squad number7Player nameAaronson
Squad number3Player nameFirpo
Squad number21Player nameStruijk
Line-ups
Aston Villa
Formation 4-4-2
1E Martínez
18Young4Konsa5Mings27Digne
31Bailey6Douglas Luiz44Kamara41J Ramsey
10Buendía11Watkins
1E MartínezBooked at 90mins18Young4Konsa5Mings27DigneSubstituted forMoreno Loperaat 10'minutes31Bailey6Douglas Luiz44KamaraBooked at 63mins41J RamseySubstituted forSansonat 81'minutes10BuendíaSubstituted forCoutinhoat 81'minutes11WatkinsSubstituted forIngsat 32'minutesSubstitutes
8Sanson9Ings15Moreno Lopera16Chambers19Nakamba20Bednarek23Coutinho25Olsen72YoungLeeds
Formation 4-2-3-1
1Meslier
2Ayling5Koch6Cooper21Struijk
8Roca12Adams
11Harrison7Aaronson29Gnonto
19Rodrigo
1MeslierBooked at 89mins2Ayling5KochBooked at 33minsSubstituted forFirpoat 88'minutes6Cooper21StruijkSubstituted forWöberat 66'minutes8RocaSubstituted forGreenwoodat 77'minutes12Adams11HarrisonSubstituted forBamfordat 67'minutes7AaronsonSubstituted forGelhardtat 77'minutes29Gnonto19RodrigoSubstitutes
3Firpo9Bamford14Llorente16Perkins22Robles25Kristensen30Gelhardt39Wöber42GreenwoodReferee:Michael OliverAttendance:42,008Live Text
Match ends, Aston Villa 2, Leeds United 1.
Second Half ends, Aston Villa 2, Leeds United 1.
Offside, Leeds United. Joe Gelhardt tries a through ball, but Patrick Bamford is caught offside.
Boubacar Kamara (Aston Villa) wins a free kick in the defensive half.
Foul by Liam Cooper (Leeds United).
Corner, Leeds United. Conceded by Tyrone Mings.
Attempt missed. Rodrigo (Leeds United) header from the centre of the box misses to the right. Assisted by Sam Greenwood with a cross following a set piece situation.
Foul by Ashley Young (Aston Villa).
Wilfried Gnonto (Leeds United) wins a free kick on the left wing.
Morgan Sanson (Aston Villa) wins a free kick on the right wing.
Foul by Sam Greenwood (Leeds United).
Emiliano Martínez (Aston Villa) is shown the yellow card.
Offside, Leeds United. Junior Firpo tries a through ball, but Patrick Bamford is caught offside.
Foul by Álex Moreno (Aston Villa).
Joe Gelhardt (Leeds United) wins a free kick in the defensive half.
Illan Meslier (Leeds United) is shown the yellow card for a bad foul.
Philippe Coutinho (Aston Villa) wins a free kick in the attacking half.
Foul by Illan Meslier (Leeds United).
Substitution, Leeds United. Junior Firpo replaces Robin Koch.
Ezri Konsa (Aston Villa) wins a free kick in the defensive half.
Our coverage of your Premier League club is bigger and better than ever before - here's everything you need to know to make sure you never miss a moment