Dortmund win protects seven-point lead

Lucas Barrios struck twice and Kevin Grosskreutz added another late in the game after Mario Goetze shook off four defenders in a solo effort to cancel out Hanover's lead which was given to them by Mohammed Abdellaoue in the 57th minute.

Dortmund's first victory in three games lifted them to 65 points. Second-placed Leverkusen, who won 1-0 at Kaiserslautern, are on 58 with six games left.

"After a difficult first half for both teams we were suddenly 1-0 down but we got a fantastic equaliser that gave us a lot of confidence," said Dortmund coach Jurgen Klopp.

Hanover are a point behind on 50 while Gladbach's hopes of staying up are nose-diving on 23 points, five from the relegation play-off spot.

"Clearly this was not our best game this season," said Bayern coach Louis van Gaal who will be leaving at the end of the campaign. "But I am happy with the result because we are finally in third place."