Arango was just off target from distance but turned provider in the 33rd minute when Andreas Beck's foul on Xhaka allowed him to deliver a free-kick from the left wing which Hanke nodded home from close range.

Firmino shot straight at Ter Stegen and Sebastian Rudy's drive was off target as Hoffenheim failed to find a first-half leveller.

They pressed early in the second half, with Tobias Weis and Boris Vukcevic off target with ambitious efforts either side of an Eren Derdiyok header which was superbly saved by Ter Stegen.

The Switzerland striker was again denied from close range in the 66th minute after being picked out by Boris Vukcevic's cross, but Firmino followed up to head home the rebound and level the scores.

The hosts soon forged ahead again, though. Visiting keeper Tim Wiese denied Havard Nordtveit before Xhaka again won a free-kick in a dangerous position, Marvin Compper this time the guilty party, and Arango stepped up and found the bottom-right corner.

There was nearly a late third for Gladbach, but Igor De Camargo failed to hit the target with his shot from the edge of the box.