
Newcastle thought they had done enough to get back into the top eight after coming from a goal down to lead 2-1 before Spain international Grimaldo charged into the box to level with two minutes left to play.
The hosts went in front when Robert Andrich headed on at the far post and the ball bounced off Newcastle captain Bruno Guimaraes for an own goal in the 13th minute.
Newcastle equalised with an Anthony Gordon penalty in the 51st after Leverkusen keeper Mark Flekken dallied on the ball, allowing Nick Woltemade to snatch it before being brought down.
Gordon then turned provider in the 74th, floating a cross in the box for Lewis Miley to head in his maiden Champions League goal before Grimaldo snatched the late equaliser.
Newcastle are 12th on 10 points, while Leverkusen dropped to 20th on nine.
The top eight teams qualify directly for the knockout stage.
Teams who finish ninth to 24th will enter a playoff round to reach the last 16.