Derby County's bold attempts to return to the Premier League ended in heartache on Bank Holiday Monday as Aston Villa edged the Sky Bet Championship play-off final.
Goals in each half from Anwar El Ghazi and John McGinn proved crucial, sub Martyn Waghorn's goal back late on sparking a Rams fightback but it wasn't to be enough.
The Rams were toothless for the first hour until strikers Jack Marriott and, soon afterwards, Waghorn were introduced at 2-0 down, but those changes perhaps came too late to have a serious impact on the game despite Derby's promising end to it.
But having come into this match as underdogs and off the back of a campaign that exceeded the expectations of many, Frank Lampard and his players could be proud of their overall efforts this season.
Villa had the first opening of note seven minutes in when a poor clearance by Kelle Roos saw the ball eventually find Jack Grealish whose shot from just outside the penalty area was high and wide.
It was Villa who would continue to have the better of things in the opening quarter, Grealish their main architect but the Rams largely snuffing out most danger well, whilst only managing the occasional break forward of their own which saw them squander possession too easily.
McGinn chipped just over the angle of post and bar on 22 minutes, before Derby started to show a bit more promise, especially down the right, without threatening Jed Steer's goal.
Tammy Abraham was inches away from an opener for Villa on 33 when he cut inside before side-footing a placed effort just over the top, El Ghazi then denied at the end of a mazy run by Tom Huddlestone's last gasp intervention.
The Rams' first shot on target came through Mason Mount on 37 when fed by Jayden Bogle, his low strike gathered by Steer but it was a positive sign for Lampard's men and Richard Keogh then headed over the top from a Mount corner four minutes later.
But it was Villa who would nick the lead just before the break, as Albert Adomah found space down the right and his cross into the six yard box found El Ghazi who got in between two defenders and stopped to head home for a half-time lead.
McGinn fired just wide in the early stages of the second period as Villa looked to put daylight between themselves and a Derby side badly needing inspiration in the final third.
But the second goal would come on 59 minutes and again it was disappointing from a defensive point of view for the Rams, as El Ghazi cut inside and hit a shot which deflected up off of Keogh's leg and when Roos and McGinn went for the aerial ball, the Villa man got the touch ahead of Roos who may himself have helped it into the net.
Grealish then hit a low shot wide, Jack Marriott and Martyn Waghorn soon introduced to the Rams attack to try and spark a fightback.
El Ghazi's low shot found the hands of Roos on 70 minutes with Villa aiming to kill the game off, before at the other end Bogle came inside and shot into the side netting with arguably Derby's best moment thus far.
Mount then put a good chance wide after some good attacking play from the Rams, then Marriott's shot on the turn following a corner was just wide of Steer's left hand post.
The Rams were giving it a go and Wilson would fire too high after good work by recent sub Florian Jozefzoon, but it just wasn't happening in an attacking sense for Derby despite their substitutions having had an overall positive impact
And one of them would soon get them back in the game. After Tyrone Mings had denied Waghorn with a fine tackle, the second phase saw Jozefzoon's cross knocked down by Bogle and Marriott's low shot found the corner of the net via a slight touch from Waghorn with eight minutes to go.
Both sides then gave as good as they got as the game entered seven minutes of stoppage time, the Rams forcing a couple of corners and putting good pressure on Villa's defence as they gave it a good go, but ultimately their second-half efforts proved too little, too late, as Villa held firm to return to the Premier League.
Aston Villa: Steer, Taylor, Tuanzebe, McGinn, Grealish, Hourihane, Abraham, El Ghazi, Elmohamady, Adomah (Green 74), Mings (Hause 86)
Subs not used: Kalinic, Whelan, Lansbury, Jedinak, Kodjia
Derby: Roos, Tomori, Keogh (c), Wilson, Mount, Lawrence (Jozefzoon 74), Johnson, Bennett (Waghorn 69), Cole, Bogle, Huddlestone (Marriott 63)
Subs not used: Carson, Evans, MacDonald, Knight
Ref: Paul Tierney
Star Ram: Fikayo Tomori
Aston Villa - El Ghazi 44, McGinn 59
Derby - Waghorn 83