Leverkusen, who booked their place in the UEFA Champions League last 16 in midweek, remain in second place but are seven points behind Bayern Munich.
Eintracht, who had not won for ten matches, scored the only goal on the hour mark with Marco Russ heading in a corner from Sebastian Jung.
The visitors squandered an opportunity to add to their tally in the sixth minute of injury time but Joselu had a penalty saved by Bernd Leno.
Elsewhere, Schalke eased the pressure on coach Jens Keller with a 2-0 win over Freiburg.
Schalke, who have also made the Champions League last 16, moved into sixth place after an own goal from Nicolas Hofler and a Jefferson Farfan penalty.
It was the Peruvian's tenth goal in all competitions this season. "It wasn't our best match," said Keller. "But we have had enough bad luck recently. For once, luck was on our side."