Alors que le Borussia menait 2-1 à la fin du temps réglementaire, l'Eintracht a égalisé par Danny Blum à la 90+1.
Il a fallu un dernier coup de rein du jeune Belge, transféré de Chelsea en janvier pour remplacer Pierre-Emerick Aubameyang, pour forcer la victoire et faire exploser le Signal Iduna Park (90+4).
"Ca fait vraiment plaisir", a dit Bashuayi, lancé comme joker à la 62e minute: "J'étais sur le banc au début, aucun problème, c'est un choix du coach, c'est lui le patron. J'étais un peu fatigué, j'ai enchaîné beaucoup de matches, ça m'a fait du bien et finalement j'ai marqué les deux buts."
Loin derrière le Bayern (66 pts) qui a quasiment le titre en poche, le Borussia (45 pts) s'accroche dans le sillage de Schalke (46 pts). La quatrième place qualificative pour la Ligue des champions est occupée par Leverkusen (44 pts).
Francfort reste à l'affût avec 42 points.
Quant au RB Leipzig, il a fait la mauvaise opération du jour en allant concéder un nul 0-0 à Stuttgart, qui le laisse désormais en 6e position avec 40 points, à quatre unités d'une qualification pour la compétition reine.
"Accepter les duels"
Entre un Dortmund joueur et un Francfort rugueux dans les duels et toujours à la limite de la régularité, l'opposition de style a donné un spectacle animé.
Après l'ouverture du score par Dortmund dès la 11e minute (Marco Russ contre son camp sous la pression de Schürrle), Francfort a répliqué en deuxième période par Luka Jovic (75e). Mais le Borussia a fait preuve du caractère qui lui avait manqué parfois lors de ses derniers matches, en reprenant l'avantage deux minutes plus tard par Batshuayi.
La suite s'est jouée dans le temps additionnel.
"L'Eintracht vient avec beaucoup d'engagement et un jeu très physique", avait mis en garde l'entraîneur de Dortmund Peter Stöger : "Notre force est dans notre jeu, mais ça ne suffira pas. Il faudra accepter les duels".
Ses hommes l'ont entendu, et ont donné la juste réplique aux visiteurs. A la pause, l'arbitre avait déjà distribué cinq cartons jaunes, dont trois à Dortmund!
Après la surprenante défaite à domicile jeudi soir en Europa League contre le RB Salzbourg (1-2), le Borussia semble donc plus que jamais concentré sur la Bundesliga, où l'objectif affiché est de décrocher un billet pour la Ligue des champions. La route est longue, avec encore huit journées, dont un déplacement à Munich le 31 mars.
Leipzig décroche
Dans l'autre match de ce dimanche, Leipzig a enregistré sa quatrième sortie d'affilée sans victoire en championnat, et voit s'éloigner doucement le top 4 de la Bundesliga.
Pour rester dans la course, les 'Taureaux Rouges' sont condamnés à réussir un exploit dimanche prochain, à domicile dans un match de prestige contre le leader Munich. Un énorme défi, d'autant plus que les Bavarois auront peut-être l'occasion de valider ce jour-là leur sixième titre de champions consécutif (si Schalke n'a pas gagné la veille à Wolfsburg).
A Stuttgart, Leipzig a eu du mal à donner du rythme à la rencontre, trois jours après sa victoire 2-1 contre le Zenit Saint-Pétersbourg en match aller des huitièmes de finale d'Europa League. "Nous avons eu des occasions, nous aurions pu marquer, mais nous avions laissé des forces contre le Zenit", a admis le jeune buteur international de Leipzig Timo Werner (22 ans).