Substitute Benjamin Sesko scored twice in two minutes late in the game after Xavi Simons had put them in front in the 51st with a spectacular drive.
It was Union’s first home loss after 24 league matches without defeat at the Alte Foersterei stadium against a side that will also compete in this season’s Champions League group stage.
In a low key first half both clubs had a chance apiece but it was not until the 51st minute that one side broke the deadlock with Simons finding enough space on the edge of the box to fire an unstoppable shot into the top corner.
It got even worse for the hosts in the 64th when Kevin Volland was sent off with a straight red for a foul on Mohamed Simakan.
Dani Olmo almost got another goal but his curling drive towards the top corner was spectacularly palmed over the bar by keeper Frederik Ronnow.
With Union out to find an equaliser it was only a matter of time before Leipzig scored again and they did with Slovenian Sesko breaking clear to latch onto a superb Simons pass in the 85th.
He headed in their third goal two minutes later to complete the win that lifted Leipzig to six points.
Union are also on six, three behind Bayern Munich and Bayer Leverkusen, who have won all three of their opening league matches.
(Reporting by Karolos Grohmann; Editing by Toby Davis)