Robert Lewandowski opened the scoring from the penalty spot before doubling the visitors’ lead eight minutes later.
Goals from Leroy Sane and Kingsley Coman either side of Niko Giesselmann’s effort made it 4-1 to the visitors.
Julian Ryerson gave Union a slim hope with 25 minutes remaining, but Thomas Muller completed the scoring.
The win keeps Julian Nagelsmann’s side one point clear of second-placed Borussia Dortmund, who maintained the pressure on the league leaders with a 2-0 win at home to Cologne.
Thorgan Hazard headed Jude Bellingham’s right-wing cross past Timo Horn to put the hosts ahead at Signal Iduna Park.
Steffen Tigges glanced home his first Bundesliga goal in the second half to put the seal on Dortmund’s fourth consecutive league victory.