A first half goal from Tim Kleindienst lit up an uninspiring first half, and the hosts pulled away with a Marc Schnatterer penalty and a stoppage time strike from substitute Ben Halloran.
They move above Union into fourth place in the 2. Bundesliga, just four days after their hosts had beaten Eintracht Braunschweig. They are behind third-placed Hannover 96 only on goals scored, and would move into the top three if VfB Stuttgart beat Hannover on Monday night.
Heidenheim back to usual shape; Union without Leistner
After their 3-2 loss to Hannover 96 a week ago, Heidenheim reverted from the 4-2-3-1 they played in that game to their more conventional 4-4-2. Tim Skarke and Halloran made way for Kleindienst and Denis Thomalla.
Two points and a place above their hosts in fourth position going into the game, Union had beaten former leaders Braunschweig on Monday night to deny the Lions the chance to return to the top of the table.
They made just one change from the team that won that game, with Fabian Schönheim replacing Toni Leistner, who did not travel due to the imminent arrival of his first child.
Kleindienst strike comes from almost nowhere
The hosts had the better of the early possession and chances. Mathias Wittek had an early attempt on goal, whilst Schnatterer struck out for a corner from outside the box. For Union, Kristian Pedersen had an attempt fall wide after coming in from the left.
After that though, the game went quiet, with neither side able to make anything happen. But after twenty minutes of complete stalemate, Heidenheim broke the silence with the opening goal.
Robert Strauß combined with Thomalla, before setting up Kleindienst from the right edge of the box. He beat Jakob Busk with a firm strike to wake up the home support at the Voith-Arena.
The visitors on the other hand were practically lifeless in the first half, only showing signs of moving through the gears in the final minutes of the half. By then they could have been 2-0 down, but Marcel Titsch-Rivero couldn’t make a proper connection with a Strauß cross.
Halloran puts icing on cake after Schnatterer penalty
After the hosts started the second half brightly, they were soon two goals up. Played on with a back heel from Schnatterer, Strauß received the ball but was brought down as Dennis Daube came in, and the referee pointed to the spot, even though it was Daube who came off worse, being forced to go off with a shoulder injury. Schnatterer made no mistake from the spot, with Busk going the wrong way.
Damir Kreilach had appeals for a penalty for Union turned down soon after, despite possibly being held back in the box by Sebastian Griesbeck whilst attempting to meet a Felix Kroos free-kick. Meanwhile Schnatterer almost scored again for Heidenheim, hitting the side netting after John Verhoek found him with an excellent pass.
The hosts remained in control, with Union never looking like getting back in the game. They were especially dangerous on the break, with Kleindienst having a shot deflected out wide, whilst Busk made saves from Arne Feich and Thomalla, with the latter found by a ball which cut through the visitors’ defence from Titsch-Rivero.
And the win was rounded off by Halloran with the final kick of the game. An excellent move was capped off when one substitute in Norman Theuerkauf found another, who placed the ball home to send Jens Keller’s men crashing back down to earth. Heidenheim keep themselves very much in the promotion hunt.