Lukas Hradecky did his best to keep Frankfurt in the game early on, making a notable save from Jhon Cordoba, but it was the guests who drew first blood late in the half when Branimir Hrgota sneaked in around the back and volleyed in from a tight angle.
Things soon got worse for Mainz in the second half. Hrgota's header was saved, but goalkeeper Jannik Huth's clearance off the line hit Haris Seferovic and went in, without the Swiss forward knowing much about it. The hosts rolled up their sleeves, however, and two goals in as many minutes – a venomous Jhon Cordoba effort and a header from Stefan Bell – brought them back on terms. More was to follow as Yoshinori Muto headed in a third to bring the house down, with a late Pablo De Blasis penalty sealing Mainz's place in the top flight next season.
Man of the match
Cordoba flexed his muscles in the first half with his side's best chance and he put even more pent-up power into the goal which brought Mainz level. He embodied the fighting spirit the club needed to seal survival.
The last time Mainz came from two goals behind to win a Bundesliga game was in November 2014, when they recovered to beat Hoffenheim 4-2. This recovery was timed to perfection to keep the 05ers up.
- Six of Hrgota's total 12 Bundesliga goals have come against Mainz.
- With five goals, Cordoba has equalled his tally from last season
- Bell also moved onto five for the season – one more than last season – and level with Dortmund's Lukasz Piszczek as the most prolific defender in the Bundesliga this season.
Mainz: Huth - Donati, Bell (c), Balogun, Brosinski - Gbamin, Frei (75' Latza) – Öztunali (46' Muto), Bojan, De Blasis – Cordoba (87' Quaison)
Coach: Martin Schmidt
Eintracht Frankfurt: Hradecky, Chandler, Hector, Oczipka, Abraham, Tawatha (79' Rebic), Gacinovic, Fabian, Barkok (69' Besuschkow), Seferovic (76' Varela), Hrgota
Coach: Niko Kovac
Watch: Jhon Cordoba was a happy man after Mainz ensured their Bundesliga survival
Marco Fabian is in the running for the Bundesliga Team of the Season - vote below!