Eintracht had won all three of their previous group matches without conceding a goal but those records were ruined by a Maccabi side who looked to have the points pretty much sewn up inside the opening 35 minutes.
During that spell the hosts netted three times without reply, Eran Zahavi opening the scoring before Barach Yitzhaki struck twice in quick succession.
However, Eintracht roared back into the contest with two goals in four second-half minutes, Srdjan Lakic scoring before Alexander Meier further reduced the deficit from the penalty spot.
A stunning comeback looked a possibility until Maccabi finally sealed the points with a stoppage-time penalty from Zahavi.
Maccabi, who lost 2-0 to Eintracht a fortnight ago, took the lead in the 14th minute when Nikola Mitrovic chipped a ball into the area and Zahavi, having stood strong under the aerial challenge of Anderson, spun and drilled a half-volley past Kevin Trapp.
It was 2-0 16 minutes later as Yitzhaki got on the end of Omri Ben Haroush's superb cross from the left to power a downward header past Trapp, and the Maccabi fans had barely stopped celebrating when their side notched a third five minutes later.
Yitzhaki was again the scorer as the Israel international dinked a shot over Trapp after collecting a Zahavi pass, ensuring Paulo Sousa's side of a more than healthy half-time advantage.
Frankfurt had barely troubled home goalkeeper Juan Pablo Colinas before the break, but they suddenly found themselves right back in the match after netting twice just after the hour.
Lakic got them off the mark in the 63rd minute when he headed home Stephan Schrock's cross unchallenged, and it became 3-2 soon after as Meier slotted home from the spot following a handball by Shiran Yeyni inside the area.
With more than 20 minutes to go Eintracht were right back in the match and they must have fancied their chances of maintaining their unbeaten record.
But try as they might, the Bundesliga strugglers could not find an equaliser and Maccabi ended their hopes with a coolly-taken 92nd-minute penalty from Zahavi after Anderson had handled.