Aston Villa are back in the Premier League after beating Derby 2-1 in the Sky Bet Championship play-off final at Wembley.
A year after losing in last season's play-off final, Anwar El Ghazi and John McGinn - who capitalised on a blunder from Derby goalkeeper Kelle Roos - scored either side of the break to steer Villa into the top flight after three years away.
Dean Smith made just one change to his Aston Villa side as Albert Adomah came in to replace Andre Green outwide.
Frank Lampard, meanwhile, made two enforced changes for Derby. Scott Malone was suspended so Ashley Cole came in at left-back, and Duane Holmes' injury meant Tom Huddlestone started in midfield.
For Derby, who made things nervy for Villa with a late Jack Marriott goal, it was another heartbreaking trip to the play-offs. Their wait for top-flight football now stretches to 11 years, and they will play in the Championship again next season.
Dean Smith, meanwhile, who started the season in charge of Brentford, could celebrate the glory of steering his boyhood club to where many feel they belong.
The breakthrough came shortly before half-time. It was a game lacking any kind of quality in the final third at either end, until Ahmed Elmohamady's brilliant cross on 44 minutes was turned in by El Ghazi in the six-yard box, even though it appeared to come more off his shoulder than his head.
Aston Villa: Steer (8), Taylor (7), Tuanzebe (7), Elmohamady (8), Mings (8), McGinn (8), Grealish (6), Hourihane (6), Adomah (6), El Ghazi (7), Abraham (6)
Subs: Green (n/a), Hause (n/a)
Derby: Roos (3), Bogle (7), Keogh (7), Tomori (7), Cole (6), Johnson (6), Huddlestone (4), Mount (7), Wilson (6), Lawrence (5), Bennett (5)
Subs: Marriot (7), Waghorn (6), Jozefoon (n/a)
Man of the match: John McGinn
El Ghazi then played a key role in Villa's second after 59 minutes, and it was a moment Derby goalkeeper Roos will be keen to forget. El Ghazi's shot was deflected high up into the air, and Roos rushed out to claim it, but could only spill it onto the head of McGinn, who gratefully - even if he wasn't completely aware of it - nodded into an empty net.
Derby boss Frank Lampard quickly responded by throwing on strikers Jack Marriott and Waghorn and Derby did improve. Twice they had decent opportunities shortly after the 70-minute mark, but Jayden Bogle could only find the side netting from a narrow angle before Mason Mount fired wide from the edge of the box.
Marriott, who surprisingly didn't start after his heroics against Leeds in the semi-finals, then nearly triggered a comeback as his smart touch and shot from Bogle's knockdown went into the bottom corner.
Derby pushed and pushed for an equaliser, but Villa saw the game through to send the fans in Claret and Blue wild.
Man of the match - John McGinn
Or 'Super John McGinn', to give him his full name. The midfielder has been a revelation for Aston Villa this season, buzzing around the park with purpose and intensity throughout, causing a constant nuisance for Derby. His goal, however much he actually knew about it, proved crucial in the end.
Dean Smith: "They're a terrific bunch of lads. From the day I went in there working with them everyday. They take on different ideas, they're sponges, they work hard and those last 15 minutes was the longest I've ever had.
"We were playing Stoke away, John McGinn was suspended and Jack Grealish was out. Too many hands went up and I gave them a roasting. From that moment on they've been brilliant. But I wouldn't just put it down to that. We've got Jack back since then, Axel Tuanzebe came back. We had some great players who missed big chunks of the season.
"If somebody had told me at the end of February I'd be standing here as a Premier League manager I'd have said 'you're crackers'. But we made history by winning ten games on the spin."
Frank Lampard: "Once we started to get on the ball and play the way we wanted to play we were pushing. Huge disappointment obviously but at the same time my overriding feeling is pride for the lads in there.
"They're gutted because they wanted it so much, as you should. But when a group get on as well as they did and when a group have dragged themselves through with youth and players in the last year of their contracts you've got a real mixture. They've managed to get this far and I'm just proud.
"I'm not interested in the speculation. What is likely is I'll speak to Mel Morris the owner in the next few days when the dust settles and then we'll see how it goes. I've got a two year contract and I love working at this place. The fans giving the players an ovation... so we'll see."
Aston Villa will play in the Premier League next season while Derby will remain in the Sky Bet Championship for the 2019/20 season, which gets underway over the weekend of 2-4 August.