Kolo Muani and Gotze team up to fire Frankfurt into DFB Pokal semi-finals
Kolo Muani scored two goals in two minutes early in the first half, both assisted by Mario Gotze (30), and Frankfurt held on despite a late Union assault.
The win kept the Europa League holders on track for what would be a sixth German Cup win, and a first since 2018.
Kolo Muani toasted his side's "complete victory" and credited teammate Goetze, telling German TV network ZDF "he makes everyone in the team better".
Union travelled to Frankfurt 10 points ahead of their sixth-placed Bundesliga opponents and on course for a maiden Champions League appearance.
But Frankfurt, winless in seven in all competitions, started stronger and were 2-0 up in the blink of an eye thanks to Kolo Muani.
The France striker scored his first in the 11th minute, latching onto a Goetze backheel and blasting past backup Union goalkeeper Lennart Grill.
Kolo Muani soon doubled the home side's lead, lifting the ball over an out-of-position Grill and into the net.
With Union's dream of going one better than their 2001 runners-up finish fast evaporating, coach Urs Fischer made three changes at half-time.
Union right-back Josip Juranovic, who arrived in Berlin from Celtic in January, had a chance to pull one back for the visitors late but put his free-kick inches over the crossbar.
Kolo Muani now has five goals in four Cup matches since arriving in Frankfurt from Ligue 1 side Nantes in the summer.