Union's eight-match unbeaten run came to an abrupt end behind closed doors at Berlin's Olympic Stadium as Mathew Leckie's Hertha enjoyed its first home win of the season.
Union played for more than an hour with 10 men after midfielder Robert Andrich was shown a straight red for going into a challenge with his foot up.
🟥 The RED CARD is out early in the #BerlinDerby and it's @fcunion that loses a man after this from #RobertAndrich 🤯 A goal up, but a man down with a long way to go!! Watch LIVE on CONNECT @kayosports, @Foxtel & Fetch!! ▶️ #BSCFCU | #Bundesliga https://t.co/6taLTWR71J pic.twitter.com/qIjvAb9lT5— beIN SPORTS (@beINSPORTS_AUS) December 4, 2020
Union took the lead when Nigeria striker Taiwo Awoniyi got between two defenders and hit the bottom corner of the net on 20 minutes.
However, Union was down to 10 men just three minutes later.
Andrich went into a tackle on Hertha midfielder Lucas Tousart with his foot up, making no attempt to pull out of the challenge.
It stayed 1-0 at the break, but the numerical disadvantage took its toll on Union as Piatek came off the bench at half-time and Hertha managed three unanswered goals.
It equalised when Matheus Cunha shot from range and although his shot was parried, right-back Peter Pekarik was on hand to tap home the rebound.
It was 2-0 on 74 minutes when Piatek's shot deflected off defender Marvin Friedrich and wrong-footed Union goalkeeper Andreas Luthe.
Piatek grabbed his second in style 13 minutes from time when he smashed a volley past Luthe.
The visitor's miserable night was summed up when Union's former Germany striker Max Kruse limped off with a knee injury in stoppage-time.
The result lifts Hertha to 11th on the table, with Union sixth.