Second-placed Leipzig dropped points in the Bundesliga title race after Frankfurt’s Daichi Kamada cancelled out Emil Forsberg’s opener.
The Bulls dominated over 90 minutes, but Forsberg’s goal wasn’t enough as Frankfurt punished the host’s wastefulness to pick up a point on the road on Sunday,.
Julian Nagelsmann’s men took the reins from the start and challenged Frankfurt goalkeeper Kevin Trapp twice in the opening stages, as Justin Kluivert came close in the seventh minute before Forsberg sent another effort goalwards seven minutes later.
The Eagles focused on defence and showed no interest in pushing forward, meaning the visitors had to wait until the 39th minute for their next chance as Kamada pulled wide from promising position.
After the break, Leipzig made a bright start and broke the deadlock after one minute, when Trapp parried Kluivert’s long-range hammer into the path of Forsberg, who made no mistake to poke home from close range.
Frankfurt sparked into life and responded well as Amin Younes’ attempt forced Leipzig keeper Peter Gulacsi into action in the 58th minute.
The visitors continued on the front foot and eventually restored parity three minutes later after Andre Silva’s square pass allowed Kamada to make it 1-1.
Both sides traded attacks and pressed for the winner, but Frankfurt defender Evan Ndicka denied Yussuf Poulsen while Luka Jovic wasted a good opportunity at the other end.
“We are a bit annoyed by the result as we should have scored more goals in the first half,” said Leipzig head coach Julian Nagelsmann.
Frankfurt head coach Adi Hutter said, “I am okay with the outcome of the game. Leipzig was the better team in the first 45 minutes.”
With the draw, Leipzig sit now four points adrift of frontrunners Bayern Munich, while Frankfurt cement fourth spot in the standings.
Elsewhere, Arminia Bielefeld returned to winning ways and clinched crucial points in the relegation battle after beating Bayer Leverkusen 2-1, and Stuttgart overpowered Hoffenheim 2-0.