Borussia Dortmund eased to a 3-1 win versus Stuttgart, with Marco Reus and Pierre-Emerick Aubameyang scoring first half goals. The win puts Thomas Tuchel's team through to the semifinals of the DFB Pokal.
Lukas Rupp briefly levelled for the hosts in the 21st minute after Reus' fifth-minute opener. But Dortmund had the upper hand by half-time, with Aubameyang giving his team the lead again in the 39th minute.
Henrikh Mkhitaryan added a third for Dortmund in the 89th minute, as Stuttgart pushed for the equaliser.
Some of Dortmund's travelling supporters intentionally missed the first 20 minutes of the match to protest the €70 ticket prices some were forced to pay.
Supporters unfurled a banner in the section that fans were boycotting that read: "fussball muss bezahlbarsein" (football must be affordable).
Following the boycott, some Dortmund fans threw tennis balls on to the field, forcing the referee to suspend the match while players helped remove the balls from the pitch.
Werder Bremen came from behind to win 3-1 at 10-man Bayer Leverkusen to also advance to the semifinal.
Javier "Chicharito" Hernandez fired the home side ahead with a penalty in the 22nd minute, after Alejandro Galvez fouled Stefan Kiessling.
But Santiago Garcia equalised from close range nine minutes later and Claudio Pizarro converted another penalty three minutes before the break, after Wendell was sent off for bringing down Fin Bartels.
Florian Grillitsch sealed the result on a counterattack in the 82nd minute. Levin Oztunali found Pizarro, who was blocked by Jonathan Tah, only for Grillitsch to stab the ball into the unguarded net. The Bremen midfielder was offside, however.
Hakan Calhanoglu hit the post for Leverkusen in the 89th.