Gladbach salvages 1-1 draw with Frankfurt in Bundesliga
Zakaria, who missed the best chance of the first half when he failed to beat Frankfurt 'keeper Kevin Trapp one-on-one, made up for it in the 82nd minute when he turned to evade Makoto Hasebe and fired high inside the left post.
Danny da Costa had scored against the run of play for Frankfurt in first-half injury time.
Gladbach stayed third, two points ahead of Leipzig, while Frankfurt dropped to seventh after its fourth consecutive draw in the league.
LEVERKUSEN RUN CONTINUES
Bayer Leverkusen continued its winning run under new coach Peter Bosz with a 2-0 win over Fortuna Duesseldorf.
Goals from Kai Havertz and Leon Bailey in either half against a defensively minded Duesseldorf helped Bosz's side climb to fifth, five points behind Leipzig and one ahead of Wolfsburg, which holds the last place for Europa League qualification.
Leverkusen has now won four consecutive games in the Bundesliga after starting with a defeat in Bosz's first game in charge.
"I think we're getting better and better with each game," the 19-year-old Havertz said.