Stefan Kießling put the visitors in front just shy of the half-hour mark in an action-packed encounter, with Frankfurt passing up several good chances to level in the first half. They got the equaliser they deserved in the 57th minute through Stefan Aigner, before a late header from Martin Lanig made it a winning return to the top flight for the Eagles.
Third time lucky for Kießling
Kießling led Leverkusen's push for three points with three good chances in the first half. He got a few lucky bounces as he evaded two Frankfurt defenders in the sixth minute before unleashing a powerful shot which Kevin Trapp tipped behind for a corner. The Germany striker then shot straight at Trapp after good work from Karim Bellarabi in the 26th minute before being rewarded for his endeavours at the third attempt in the 29th minute. Bellarabi was involved again as he skipped past Carlos Zambrano inside the penalty area and saw his shot fumbled by Trapp to Kießling, who was happy to poach his first goal of the season from six yards out.
It had not been all about Kießling and Leverkusen in the first half, though, with Frankfurt more than holding their own and, with a bit of luck, they would have gone in at the break with at least a goal. Indeed they did find the back of the net in the 23rd minute, but Aigner's goal was ruled out after the ball was correctly ruled to have gone out of play before Sebastian Rode pulled it back for the assist. Alexander Meier also went close when he poked his shot wide in the 37th minute, just moments before he went down in the area after lobbing the ball past Leno only to see his claims for a penalty waved away.
Simon Rolfes could have made it two for Leverkusen just five minutes into the second half, but after beating the offside trap and controlling the ball on his chest, he scooped his shot over the crossbar. Frankfurt were not having any of it and continued to attack, pulling level in the 57th minute. Bastian Oczipka sent in a cross which Takashi Inui met, but his effort was saved by Leno, who was then out of position to deny Aigner on the follow-up.
The game opened up and Andre Schürrle had the next break for Leverkusen, although he was denied by the face of Trapp, who bravely stood up to the Germany international. Gonzalo Castro fired another shot wide from a good position as the game flowed from end to end in search of a winner. Olivier Occean could and perhaps should have provided it in the 73rd minute when, at full stretch, he lifted the ball over the crossbar from close range. However, it was Lanig who completed the turnaround in the 82nd minute with a powerful header from substitute Stefano Celozzi's cross - and the points were in the bag for Eintracht.
Trapp - S. Jung, Zambrano, Anderson, Oczipka - Rode (Lanig 77'), Schwegler - Aigner (Köhler 87'), Meier, Inui (Cellozzi 75') - Occean
Bayer 04 Leverkusen
Leno - Schwaab, Toprak, Wollscheid, Kadlec - Reinartz (Junior Fernandez 83') - Bender, Rolfes - Bellarabi (Castro 69'), Kießling, Schürrle
Goals: Kießling (29'), Aigner (57'), Lanig (82')