The famous venue has been Boro’s happiest away hunting ground by virtue of 16 wins so far in their history.
But the success they craved to extend their season to a Wembley appointment frustratingly eluded them last night on an occasion when the hesitant hosts were ripe for the taking.
Instead of knocking on the door with force in the attacking third as manager Tony Pulis had implored, Boro tapped on it tentatively. They may have extended their unbeaten streak at B6 to seven matches, but it was no consolation whatsoever.
This said there was a huge moment of controversy towards the end when home goalkeeper Sam Johnstone handled a goalbound shot from Adama Traore outside his area, but escaped with just a yellow card.
From the resultant free-kick Stewart Downing’s fine curling shot rattled the woodwork to increase the visitors’ angst.
It proved a hugely demoralising moment for Boro, whose supporters with long memories will recall how a last-gasp home goal from Villa’s Stuart Gray effectively relegated the Teesside club from the top flight in 1989.
But in the final analysis a lame performance in the final third was the main reason for Boro’s limp elimination last night.
Pulis said: “Over the two legs there have been periods where we have been on top, but we have not created the opportunities and chances you need to win games.
“It irks me to say this as we have just lost, but the team who have finished third and fourth are the teams who have gone to Wembley and, over a season, here is justification.”
On the late Johnstone controversy, the Welshman added: “It was a disappointing decision from one of our top officials.”
Yet again Villa manager Steve Bruce did things the hard way just as his Hull City side did in hobbling to the play-off final after another stressful second leg against Derby two years ago.
But his hopes of a fifth promotion from the second tier remain intact – and over the two legs Villa’s progression was merited.
As expected, key defender Daniel Ayala’s knee problem ruled him out for Boro, with young defender Dael Fry handed his first start since February 20.
A stirring minute’s applause for former Villa full-back Jlloyd Samuel following his tragic death provided some perspective ahead of kick-off.
The first leg may not have been an entertainment fest, but it contained moments of quality and excitement for the connoisseur, mainly showcased by Villa duo of Jack Grealish and Robert Snodgrass.
By contrast the first half last night was edgy, tense and decidedly sloppy, with some early fire from Villa abating and Boro settling without possessing the final-third poise to crack open the hosts’ rearguard, organised impeccably by John Terry.
Boro were afforded plenty of possession, but their recycling of the ball lacked zip and authority and their final ball option was deficient, with Traore – sent off just four minutes into the league game at his former club in September – given little off which to feed.
A lack of scares at the other end was rather more comforting for Boro with Villa’s best moment coming in the lead-up to the break when James Chester fired wide after Lewis Grabban’s knockdown, while a fine saving challenge from George Friend had denied Conor Hourihane.
Pragmatic Pulis would have possibly taken a goalless interval scoreline, but the onus was clearly upon Boro to make any opportunities count on the resumption.
Villa may have displayed an inability to move through the gears in the first half, but they were afforded every incentive to strive to finish off the tie attacking the jam-packed Holte End.
But the pattern of play on the restart followed the first with Boro unable to prey upon the nerves of their unconvincing, below-par hosts.
Mo Besic fired a half-decent opportunity wide before Darren Randolph’s first meaningful action denied Lewis Grabban from point-blank range at his near post as Villa conjured some belated polish in front of the baying Holte Enders.
At the other end Boro lacked a code-breaker with Traore policed diligently.
Villa had chances to seal it, Randolph tipping over Grabban’s piledriver before turning away Grealish’s bending drive at full stretch.
Despite Patrick Bamford and ex-Villa forward Rudy Gestede being thrown into the fray, Villa’s goal was protected well until that huge late scare involving Downing.
Aston Villa: Johnstone; Bree, Chester, Terry, Hutton; Jedinak; Snodgrass, Hourihane (Whelan 85), Grealish, Adomah (Bjarnason 90); Grabban (Kodija 79). Unused substitutes: Bunn, Samba, Onamah, Hogan.
Middlesbrough: Randolph; Shotton (Fabio 82), Fry, Gibson, Friend; Clayton, Besic, Howson (Gestede 73), Traore, Downing, Assombalonga (Bamford 68). Unused substitutes: Konstantopoulos, Cranie, Leadbitter, Harrison.
Referee: M Dean (Merseyside).