Leverkusen took charge early on by dominating possession, but it looked like chances may be difficult to come by as Frankfurt dropped deep to defend in the opening exchanges.
However, a mistake gifted the visitors the lead when Kevin Kampl sprinted clear before delivering a cross to Javier Hernandez, who watched Carlos Zambrano miss an attempted clearance to give him the easy task of tapping into an empty net.
Despite dominating throughout the first half, Leverkusen saw their lead cut in half just before the break when poor marking allowed Slobodan Medojevic to head home from Marc Stendera's inch-perfect cross.
Hernandez, however, continued to threaten when the game restarted after the break, and he almost became provider for the third goal when Karim Bellarabi shot just wide after good link-up play on the edge of the box.
Opportunities to find an equaliser were rare for Frankfurt, but it could have been a very different afternoon had Stefan Aigner not miscued an effort over after being gifted space by the Leverkusen defence.
The miss proved to be key as Leverkusen restored their two-goal advantage with just under 20 minutes remaining thanks to Calhanoglu, who cut inside on the edge of the box to leave Hradecky helpless.