Borussia Dortmund fans threw tennis balls onto the pitch during their German Cup victory over Stuttgart in protest against ticket prices.
Supporters also boycotted the first 20 minutes of the 3-1 quarter-final win.
They are unhappy at the rising cost of attending Bundesliga games, with a quarter of away tickets for Tuesday's match costing 70 euros (£55).
On Saturday, Liverpool fans staged a walk-out during their home game against Sunderland in protest at ticket prices.
Dortmund fan Marc Quambusch, a member of the campaign group behind the protest, explained why some supporters chose to miss the opening 20 minutes.
"Obviously it's not something we want to do, but we feel we have to do it," he told the BBC World Service. "We don't feel very good about not supporting the team for the first 20 minutes, but it has to be."
Quambusch also backed the decision of thousands of Liverpool fans to leave the Sunderland match early.
"It's always good to see fans protesting against bad conditions and, yes, they have our solidarity," he said. "I hope it is inspiring other fans to join them and to protest as well. I love English football but it is killing itself."
Why tennis balls?
According to Quambusch, fans were being ironic. He says Germans use the expression "great tennis" to describe something very good.
So throwing tennis balls, he says, was a way of telling Stuttgart that their prices were too high. "It was an idea to make it clear that enough is enough," Quambusch told BBC Radio 5 live.
But aren't prices pretty fair?
There is the perception in Britain that tickets don't cost that much in Germany, but that's wrong, says Quambusch.
"When it comes to standing tickets, it's ok," he said. "But you don't have so many standing tickets. It's not cheap, in a way."
What happened in the game?
Dortmund took the lead against Stuttgart with a fifth-minute strike from Germany international Marco Reus.
The home side, who had won their previous four Bundesliga games, drew level in the 21st minute thanks to a Lukas Rupp effort.
Goals from Pierre-Emerick Aubameyang - his 30th of the season - and Henrikh Mkhitaryan secured Dortmund's place in the semi-finals.
- 15GroßkreutzBooked at 46mins
- 6NiedermeierBooked at 34mins
- 26Serey DiéSubstituted forHarnikat 68'minutes
- 10DidaviBooked at 62mins
- 25PapastathopoulosBooked at 83mins
- 8GündoganSubstituted forKagawaat 87'minutes
- 11ReusSubstituted forLeitnerat 77'minutes
- Tobias Stieler
- Shots on Target