Having been named in the Germany squad for the first time since February earlier in the day, Leverkusen striker Stefan Kiessling netted in the second minute after Frankfurt failed to cope with a cross from striker Eren Derdiyok.
With the visitors still recovering from the early blow, 20-year-old defender Stefan Reinartz headed home on six minutes and then 19-year-old Toni Kroos rifled home a shot into the top right-hand corner on 16 minutes.
It was a night for youth when substitute midfielder Lars Bender, 20, came off the bench for Derdiyok in the 83rd minute and hit the fourth goal just three minutes later.
The result leaves Leverkusen on 26 points, with second-placed Werder Bremen, who are on 22 points, playing Dortmund on Sunday and third-placed Hamburg, also on 22 points, at Hanover the same day.
Fourth-placed Schalke have a chance to move into second-place if they can win at Bayern Munich’s Allianz Arena on Saturday.