Neither side had claimed a win this season prior to kick-off, but it was the home team that began more determined to change that.
Union had more possession in the early stages and after Christopher Lenz fired a warning shot over the bar, Kruse opened the scoring with a powerful back-post header from Sheraldo Becker's right-wing cross.
The same duo almost combined again shortly before the half-hour mark as Becker burst into space after Alexander Hack misjudged a header, but Kruse’s first-time shot at the back post sailed over.
Nico Schlotterbeck then had a close-range effort well saved by Robin Zentner as Union took a deserved lead into the break having denied its visitors a single shot on target in the first 45 minutes.
There was more of the same in the second half as the hosts asserted their authority in the midfield battles, and they quickly doubled their advantage.
Captain Christopher Trimmel was afforded time and space on the right wing to pick out a cross, and his superb delivery was swept into the net by Marcus Ingvartsen. Trimmel posted his second assist of the game shortly afterwards, whipping in a free-kick from the right for Marvin Friedrich to head in from the edge of the six-yard area.
Worse was to come for the visitors moments later when substitute Joel Pohjanpalo bundled the ball over the line just 35 seconds after coming off the bench.
Union looked far more likely to add to the scoreline in the closing stages, with Ingvartsen seeing his free-kick deflected just off target, but by then the damage had already been done and it held on to claim three much-needed points.