Leeds United beat Derby County 1-0 in the first leg of the Championship play-off semi-final to move one step closer to the Wembley final.
It's the third time this season that Leeds have beaten Derby, and the third time that Kemar Roofe has scored against them. The striker's goal, midway through the second half, proved the difference on the day.
The two sides are set to meet again in five days time, with another full-blooded, at times ill-tempered, encounter more than likely.
Story of the match
Before the game, Frank Lampard admitted that Marcelo Bielsa's side had their number in the two league meetings this season.
"All I will see is how can I prepare for Leeds because they beat us well in two games," he said. "There are lessons there, and we will need to be at our absolute best.”
Back in August, in their first away game of the season, Leeds' were rampant in a 4-1 win at Pride Park, which they followed up with a dominant home performance, winning 2-0 at Elland Road in January in the midst of the 'Spygate' controversy.
This time, Lampard was able to call upon the influential Harry Wilson, who missed the last meeting, while a mix of injuries and circumstance meant Bielsa made four changes to the team that won so emphatically on their last visit to Pride Park, with influential centre-half Pontus Jansson unable to pass a late fitness test.
The game largely followed the same template as previous meetings, though. After weathering some early pressure, Leeds soon quietened a rocking Pride Park by taking control, recording two thirds of possession before the break, keeping the defence boxed in and Mason Mount - so pivotal in Derby's recent upturn in form - unable to influence anything from the centre of the park.
But Derby had shown improvement in the defensive aspects of the game, sitting back and denying the visitors many clear cut chances, with Chelsea loanee Fikayo Tomori particularly strong. They also posed a threat on the counter, with the running of Tom Lawrence and Duane Holmes a threat.
Leeds got the breakthrough in the 54th minute as Roofe scored just his second goal of 2019, the other also coming against Derby. Referee Craig Pawson gave Leeds the advantage after a foul by Lawrence on Stuart Dallas, the ball fell to Jack Harrison, who broke down the left flank and sent in a brilliantly precise ball to United's top scorer.
They could have doubled their lead five minutes later when Jamie Shackleton cut the ball back to Pablo Hernandez, but the Spaniard miskicked it as the goal was gaping. An uncharacteristically sloppy moment from the club's player of the season.
Derby grew into it from there, and thought they'd found a way back into it when Pawson pointed to the spot following a coming together between Harrison and Jayden Bogle, but the decision was overturned after an intervention from the linesman, incensing the 31,000-strong crowd.
There was more controversy late on as Mateusz Klich could have seen red for a headbutt on Tomori. Shown a yellow card, Leeds' ever-present midfielder will escape a suspension for the remainder of the play-offs.
In the end, Derby couldn't respond, and only a win will do as the two sides meet again at Elland Road on Wednesday night. But the Rams have lost all three meetings with Leeds this season and will have to produce a special performance if they're to make it to Wembley.
Takeaways from the game
Football's Overton window shift gives Derby hope
In Lampard's time as a player, when Jose Mourinho and Rafael Benitez ruled the roost in European football, a 1-0 win away from home in the two-legged tie represented a giant leap, but that's no longer the case in top-level football, with some remarkable second-leg turnarounds in recent years.
Both managers have spoken about the inspiration served by Tottenham and Liverpool's comebacks over the past week, and second-leg remontadas have been a lot more common in recent years. That will have Derby still believing in their ability to reach the Premier League.
It must be said, though, that the second leg plays into Leeds' hands. They've struggled most this season when playing against a low block and Derby will have to come out and attack them, just as they did when Leeds completed a convincing league double over them.
Bielsa plenty to ponder for second leg after Jamie Shackleton's performance
Speaking after the match, the Argentinian said that Adam Forshaw is unlikely to return for the second leg, after an injury forced him off midway through the first half.
Shackleton's energy and enthusiasm offered Leeds a lot in Forshaw's absence and the young academy product surely has every chance of starting the next game. But Patrick Bamford's availability, back after serving a two-match suspension, gives him a decision to make.
Roofe has often dropped back into the number ten role with Bamford available, but there's only room for two of the three. The summer's marquee signing from Middlesbrough may struggle to get back into Bielsa's team.