Frankfurt booked their place in the Europa League final at the expense of West Ham on Thursday, earning a 1-0 win on the night to seal a 3-1 aggregate victory.
An already daunting task was made nearly impossible for the Hammers when Aaron Cresswell was sent off early in proceedings, soon after which Rafael Borre struck to sink the east Londoners' hopes of making the final in Seville - the outcome didn't always seem so certain, however.
The visitors actually started the brighter side and would have given the 3,000 travelling fans much encouragement in the opening exchanges, boasting the lion's share of possession and looking determined to utilise it positively.
They instead found the mountain in front of them made even higher just before the 20-minute mark when Cresswell saw red.
It took a VAR check and an on-field review for the referee to overturn his original decision of just a booking but Cresswell, who quite evidently brought down Jens Petter Hauge as the last man, was deservedly sent for an early shower.
Things soon got worse for the Hammers as the hosts pulled ahead in the 26th minute. An increase in intensity proved fatal for David Moyes' side, who simply couldn't track the hosts' passing and movement before Ansgar Knauff's cutback was slotted clinically by Borre.
Oliver Glasner's men seemed to push on and thrive amid the fearsome atmosphere of the Deutsche Bank Park but, despite the current firmly against them, West Ham managed to regain their defensive solidity and, were it not for Evan N'Dicka's goal line clearance from Kurt Zouma's scruffy effort, might have even notched an equaliser before the midway point.
With the physical demands becoming more and more tolling for Moyes' men, the game naturally started to become stretched but, driven by the necessity for goals, the visitors continued to push for goal-scoring opportunities.
Around the hour-mark, Jarrod Bowen had a glorious chance to pick out Michail Antonio in the box, only for the ever-reliable N'Dicka to cut the ball out, while Craig Dawson also connected brilliantly with the striker's cross, but could only direct his header straight at Kevin Trapp.
Frankfurt, however, seemed to always cope with the Hammers' advances and, as frustration rose, so did tensions on the sidelines.
In a bizarre incident that looked to involve some unsavoury words and Moyes firing a ball at the home dugout, the West Ham boss received a red card with the flare-up eventually being tamed by Declan Rice.
The passion was certainly there for the visitors but, failing to take inspiration from Real Madrid's antics on Wednesday night, the goals weren't.
Antonio had a decent chance to set up something incredible as he chested down Rice's pass and fired straight at Trapp. Tomas Soucek then fired a header just wide of the post from a Bowen corner but, as it turned out, Glasner's side was able to see out the result with relative ease and book their place in Seville.
1. Eintracht Frankfurt (3-4-3)
GK: Kevin Trapp - 6/10 - A pretty calm night for the German, in truth.
CB: Tuta - 6/10 - Read play pretty well and did a good job on the cover as well as in the air.
CB: Martin Hinteregger - N/A - Withdrawn after just a few minutes following a hamstring injury caused by a physical battle with Antonio.
CB: Evan N'Dicka - 9/10 - Threw himself at everything and read the danger so well, putting in a phenomenal defensive performance in which he denied more than one certain goal - it's not hard to see why he's so highly rated.
RWB: Ansgar Knauff - 8/10 - Started to showcase his knack for attacking flair more and more as time passed, demonstrating great movement and an end product - notably grabbing the assist for the opener.
CM: Sebastian Rode - 6/10 - Demonstrated the same metronomic passing as he did last week, just keeping things ticking along for his side.
CM: Djibril Sow - 5/10 - Tidy enough and kept possession well, although did nothing to really break lines and make things happen.
LWB: Filip Kostic - 4/10 - Marshalled very well, being kept on the periphery of proceedings once again.
RF: Jens Petter Hauge - 7/10 - Caused some serious problems with his running - notably forcing Cresswell into the fatal early error - and had some very bright moments throughout.
ST: Rafael Borre - 7/10 - Clever movement in the box and a tidy finish to put the Hammers out of sight in the tie.
LF: Daichi Kamada - 6/10 - A livewire once again, constantly picking out space to get on the ball, but was probably forced to drop deeper than he would have liked to for the majority.
SUB: Almamy Toure (7', for Hinteregger) - 7/10 - Made sure the potentially costly loss of Hinteregger came to nothing, putting in a very resolute performance himself.
SUB: Kristijan Jakic (76', for Rode) - Introduced calm to what was becoming a frantic midfield battle.
SUB: Goncalo Paciencia (83', for Borre) - N/A
SUB: Ajdin Hrustic (83', for Hauge) - N/A
2. West Ham (4-2-3-1)
GK: Alphonse Areola - 5/10 - Nothing he could do to keep out the opener and wasn't overly troubled thereafter.
RB: Vladimir Coufal - 6/10 - Glued to Kostic when out of possession, doing well to keep him quiet.
CB: Craig Dawson - 5/10 - Lost Borre completely for the opening strike but was otherwise fairly solid.
CB: Kurt Zouma - 3/10 - Occasionally pulled out of position and simply wasn't good enough as he allowed Knauff to peel off before assisting Borre in the first half.
LB: Aaron Cresswell - 1/10 - Never looked in control against Hauge and rightly saw his second red card of the Europa League group stage.
CM: Tomas Soucek - 5/10 - Very dominant in the air but, despite mostly providing a calming presence, never did much to drive his side upfield in possession.
CM: Declan Rice - 6/10 - Brilliant defensively, managing five interceptions, and was as composed as ever on the ball, toiling away to thrust his team forward.
AM: Manuel Lanzini - N/A- His 200th West Ham appearance came to a premature conclusion as he was sacrificed following Cresswell's dismissal.
RW: Jarrod Bowen - 4/10 - Started with blistering energy and drive but fizzled out as his side found it increasingly difficult to compete.
ST: Michail Antonio - 6/10 - Fantastic physicality in the one-on-one battles and looked capable of making something happen when running in the channels and delivering balls into the box. Couldn't do much more than he did with such little service, in truth.
LW: Pablo Fornals - 3/10 - Worked tirelessly as you'd expect, but once again lacked the spark to really affect proceedings.
SUB: Ben Johnson (22', for Lanzini) - 6/10 - Coped pretty well after his introduction and even looked a threat when he decided to bulldoze his way forward.
SUB: Said Benrahma (74', for Fornals) - 4/10 - Couldn't produce the necessary magic after coming on, with his notable contribution being a tame scrap with a Frankfurt defender a lot bigger than him.
SUB: Andriy Yarmolenko (87', for Coufal) - N/A
Source : 90min