Pierre-Emerick Aubameyang helped Borussia Dortmund close the gap on Bundesliga leaders Bayern Munich to five points as he scored twice in a 2-0 victory over Ingolstadt.
Thomas Tuchel's men looked set to miss the chance to keep the pressure up on Bayern until Aubameyang netted twice in the final 13 minutes to take his Bundesliga tally to 20 for the season.
The visitors enjoyed the better of the opportunities in the first half at Signal Iduna Park as Dario Lezcano saw one effort saved by Roman Burki and another well cleared by Lukasz Piszczek as the ball trickled goalwards.
Controversy reigned when Mats Hummels inadvertently sent his back pass over the head of Burki and into his own net, only to be bailed out by referee Guido Winkmann, who deemed that the defender had been fouled before he kicked the ball.
Dortmund capitalised on their slice of good fortune as Aubameyang guided a close-range header into the top corner after 77 minutes and then notched a second four minutes from time by sliding a low effort past Ramazan Ozcan.
Tuchel was without the services of Marco Reus and Ilkay Gundogan due to illness, which saw Shinji Kagawa and Matthias Ginter replace the pair in the Dortmund side.
Ingolstadt were the first to threaten when debutant Lezcano was allowed to raid forward and strike a powerful effort from 25 yards in the 15th minute, but Burki made a fine diving stop to his right.
The hosts responded and Sokratis Papastathopoulos should have put his team ahead after latching on to a free-kick from Henrikh Mkhitaryan, but he could only send his close-range header over.
Piszczek made a vital intervention to deny Ingolstadt the lead by knocking Lezcano's effort away from the net after the Paraguayan had collected a long ball over the top from Ozcan and flicked his shot past the onrushing Burki.
Dortmund almost broke the deadlock 10 minutes before the break when Aubameyang steered Erik Durm's cross towards the bottom corner. Ozcan made a fine diving stop, but the ball bounced into the path of Adrian Ramos, who missed a glorious chance to head his side ahead from six yards by sending his effort over.
Aubameyang almost punished Ingolstadt for their failure to clear a cross from Mkhitaryan as the ball deflected into his path, but he failed to register enough power on his volley to beat Ozcan.
Ingolstadt thought they had taken the lead in the 66th minute when Hummels attempted to play the ball back to Burki, but the defender's pass proved to have too much power and beat the goalkeeper.
However, Winkmann chalked it off for a foul on the German by Lezcano, much to the fury of the Ingolstadt players and coach Ralph Hasenhuttl.
Dortmund held their composure amid the controversy and went ahead when Aubameyang displayed his predatory instincts by drifting between two defenders to guide Piszczek's cross into the net.
Aubameyang then secured the three points for Tuchel's men by sliding a low effort into the bottom corner to ensure Dortmund remain hot on the heels of champions Bayern, who host Hoffenheim on Sunday.