Match ends, Aston Villa 2, Derby County 1.
Championship play-off final: Aston Villa 2-1 Derby County
Aston Villa won promotion to the Premier League and secured an estimated £170m windfall as they held off a late Derby County fightback to win the Championship play-off final at Wembley.
Villa, beaten by Fulham in last season's final, seemed to be cruising to victory when John McGinn added to Anwar El Ghazi's first-half strike to put them 2-0 up with 30 minutes to go.
However, Rams boss Frank Lampard threw caution to the wind and his side set up a frantic finale when substitute Jack Marriott's effort from eight yards took a deflection off Martyn Waghorn on its way in.
Despite seven minutes of injury time they could not force an equaliser and now face another season in the second tier, while Villa return to the Premier League for the first time since relegation in 2016.
Promotion at Wembley caps off a remarkable three months for Villa who had looked out of the promotion race before a club-record 10-match winning run saw them finish fifth.
Perhaps unsurprisingly given the value of the game, the first half was a cagey affair.
Rams midfielder Mason Mount was the first player to register a shot on target when he fired straight at Villa keeper Jed Steer from 20 yards late in the half.
- Phil McNulty: Smith proves perfect fit for Villa
- Villa potential 'massive' after promotion - Smith
- Lampard expects to stay at Derby despite Wembley loss
- Relive Villa's play-off final victory at Wembley
- How did you rate the players?
With the game drifting towards the break goalless, Dean Smith's side launched a quick attack that El Ghazi finished off by coming in on the blindside of the static Jayden Bogle and diverting it into the net with his back.
They doubled their advantage when Rams goalkeeper Kelle Roos misjudged the flight of a deflected El Ghazi shot and McGinn beat him to it to head into an empty net.
That sparked Derby into life and they grew into the game before the combination of forwards Marriott and Waghorn got them back in it.
But it was not enough and they now face a 12th successive season in the Championship.
Fine end to turbulent season
Victory at the national stadium brings a successful end to what has been at times a tumultuous year for Villa.
Days after defeat by Fulham in last season's Championship showpiece it was revealed the club had missed a deadline to pay HM Revenue & Customs £4m and it seemed likely that star player Jack Grealish would have to be sold.
With administration a serious concern, Chinese owner Tony Xia eventually sold the club to billionaire businessmen Wes Edens and Nassef Sawiris in July.
They decided to stick with boss Steve Bruce until October, but after an indifferent start to the season, sacked the 58-year-old after a 3-3 draw with Preston, which had seen an irate fan throw a cabbage at him.
Bruce was replaced in the dugout by Brentford manager and Villa fan Smith, with former Chelsea and Villa defender John Terry as assistant, and results initially improved.
However, following an injury to midfielder Grealish at the start of December the team went on a torrid run of form and by the end of February they were eight points off the play-offs, having played two games more than some teams around them.
Grealish returned to the side and was made captain for the home game against Derby on 1 March. The 23-year-old scored the fourth goal in a 4-0 win over the Rams which sparked a run of 10 successive victories and Villa qualified for the play-offs with two games to spare.
They squeezed past local rivals West Brom on penalties to set up a meeting with Derby, who they had beaten by an aggregate of 7-0 in their two league meetings this season.
This game threatened to go the way of the past two games between the sides when the superb McGinn bundled in with Roos flapping.
It proved to be a much closer finish but Villa managed to hang on to claim a promotion that boss Smith said felt "surreal".
He said: "Reality sets in now. Last time I was sat in a news conference after a Wembley final, I had lost 2-0 to Bristol City in the Johnstone's Paint Trophy final with Walsall (in 2015).
"It's no more that we deserve because the players have made history (with the winning run).
"The potential here is massive. It feels right we are a Premier League club because of the history and the fan base that we have."
What next for Rams… and Lampard?
Derby reached the play-offs in dramatic fashion, with two goals in the final 30 minutes of their final league game of the season against West Brom giving them the win they needed to guarantee sixth position.
More drama was to follow in their semi-final against Leeds United, when the Rams became the first team in second-tier history to recover from losing the first leg at home to go on to reach the final, as they fought back to win an incredible match 4-2 at Elland Road.
Their build-up to the Wembley showpiece was in danger of being disrupted as rumours grew about boss Lampard leaving to replace Maurizio Sarri as Chelsea manager.
The former England international said before the game he would discuss his future with Rams owner Mel Morris after Monday regardless of the result, but suggested he expects to be at Pride Park next season.
"I haven't had any discussions with any other clubs," said Lampard. "I'll be having talks with Mel on how we can compete next year.
"The talks are important in terms of where we go. I want to move forward."
He added that the Chelsea "noise was irrelevant" and that he had "loved working here and I want to continue that and continue progressing with the club".
Derby, who also lost out in the 2014 Championship play-off final to QPR, failed to threaten the Villa defence until they had gone 2-0 down.
They will surely be left to wonder 'what if?' after a spirited last 10 minutes nearly saw them grab a leveller to send the game to extra-time.
Man of the match - John McGinn
- 27El Mohamady
- 40MingsSubstituted forHauseat 86'minutes
- 14HourihaneBooked at 48mins
- 37AdomahSubstituted forGreenat 73'minutes
- 22El GhaziBooked at 28mins
- 28L Kalinic
- 5TomoriBooked at 51mins
- 44HuddlestoneSubstituted forMarriottat 63'minutes
- 7H WilsonBooked at 90mins
- 10LawrenceSubstituted forJozefzoonat 73'minutes
- 20BennettBooked at 47minsSubstituted forWaghornat 69'minutes
- Paul Tierney
- Shots on Target
Second Half ends, Aston Villa 2, Derby County 1.
Hand ball by Harry Wilson (Derby County).
Offside, Aston Villa. Anwar El Ghazi tries a through ball, but Jack Grealish is caught offside.
Offside, Derby County. Harry Wilson tries a through ball, but Florian Jozefzoon is caught offside.
Corner, Derby County. Conceded by Neil Taylor.
Harry Wilson (Derby County) is shown the yellow card.
Foul by Jayden Bogle (Derby County).
Anwar El Ghazi (Aston Villa) wins a free kick on the left wing.
Jayden Bogle (Derby County) wins a free kick in the defensive half.
Foul by Tammy Abraham (Aston Villa).
Foul by Bradley Johnson (Derby County).
Jack Grealish (Aston Villa) wins a free kick in the attacking half.
Foul by Jack Marriott (Derby County).
John McGinn (Aston Villa) wins a free kick on the right wing.
Substitution, Aston Villa. Kortney Hause replaces Tyrone Mings because of an injury.
Delay over. They are ready to continue.
Delay in match because of an injury Tyrone Mings (Aston Villa).
Goal! Aston Villa 2, Derby County 1. Martyn Waghorn (Derby County) right footed shot from very close range to the bottom left corner. Assisted by Jack Marriott.
Attempt blocked. Jack Marriott (Derby County) right footed shot from the centre of the box is blocked. Assisted by Jayden Bogle with a headed pass.
Attempt missed. Jayden Bogle (Derby County) right footed shot from outside the box misses to the right following a corner.
Corner, Derby County. Conceded by Conor Hourihane.
Attempt blocked. Martyn Waghorn (Derby County) left footed shot from the centre of the box is blocked. Assisted by Harry Wilson with a cross.
Corner, Derby County. Conceded by Ahmed El Mohamady.
Attempt missed. Harry Wilson (Derby County) left footed shot from the centre of the box is high and wide to the left. Assisted by Martyn Waghorn.
Bradley Johnson (Derby County) wins a free kick in the defensive half.
Foul by John McGinn (Aston Villa).
Attempt missed. Jack Marriott (Derby County) left footed shot from the centre of the box is close, but misses to the right. Assisted by Florian Jozefzoon with a headed pass following a corner.
Corner, Derby County. Conceded by Axel Tuanzebe.
Richard Keogh (Derby County) wins a free kick in the defensive half.
Foul by Tammy Abraham (Aston Villa).
Substitution, Derby County. Florian Jozefzoon replaces Tom Lawrence.
Substitution, Aston Villa. Andre Green replaces Albert Adomah.
Attempt missed. Mason Mount (Derby County) right footed shot from outside the box misses to the left. Assisted by Tom Lawrence.
Attempt missed. Jayden Bogle (Derby County) right footed shot from a difficult angle on the right is close, but misses to the right. Assisted by Mason Mount.
Attempt saved. Anwar El Ghazi (Aston Villa) right footed shot from the left side of the box is saved in the centre of the goal. Assisted by John McGinn.
Foul by Jayden Bogle (Derby County).
Neil Taylor (Aston Villa) wins a free kick on the left wing.
Substitution, Derby County. Martyn Waghorn replaces Mason Bennett.
Fikayo Tomori (Derby County) wins a free kick in the defensive half.