Michy Batshuayi starts the celebrations after scoring the winning goal for Borussia Dortmund against Eintracht Frankfurt on Sunday. Photo: Friedemann Vogel/EPA

BERLIN – Michy Batshuayi came off the bench to score a stoppage-time winner as Borussia Dortmund snatched a dramatic 3-2 victory over top six rivals Eintracht Frankfurt on Sunday.

Danny Blum looked to have sealed a draw for Frankfurt with an equaliser a minute into time added on, but Batshuayi had the last word with his second goal two minutes later.

“I am very relieved because I haven’t been scoring recently,” said Batshuayi, who had not scored in three league games before Sunday. “It was a very important game today.”

The win kept Dortmund in third place, while in Sunday’s other game RB Leipzig were held to a 0-0 draw at Stuttgart that prevented them from breaking into the top four.

Dortmund came close on 10 minutes when Andre Schuerrle nodded Christian Pulisic’s cross just wide of the far post.

Pulisic was involved again when Dortmund took the lead two minutes later. His chipped cross was meant for Marco Reus, but was turned in by Frankfurt defender Marco Russ.

Kevin-Prince Boateng nearly scored with a clever back-heel just after halftime, but was denied by Dortmund goalkeeper Roman Burki.

Resurgent in the second half, Frankfurt finally found an equaliser on 75 minutes. Jonathan de Guzman’s curling free kick found Luka Jovic, who sent a powerful header past Burki.

Dortmund hit back just two minutes later, Batshuayi linking up neatly with Pulisic before slotting the ball into the bottom corner.

As normal time came to an end, Blum stole in at the far post to snatch what appeared to be a late equaliser.

Batshuayi, though, found space in the penalty area to rifle in a dramatic winner.

Defeat saw Frankfurt drop to fifth, two points ahead of Leipzig.