Fans protested against Monday night football in the Bundesliga as Eintracht Frankfurt beat visiting RB Leipzig 2-1.
The protest delayed the start of both halves of the match, the second by throwing hundreds of tennis balls onto the pitch.
Leipzig, who missed a chance to go second in the table, had a penalty revoked by the video assistant referee (VAR).
There was also a half-time scuffle in a bad-tempered game played against the backdrop of non-stop whistling by angry supporters.
The win took Frankfurt up to third with 39 points, one behind Borussia Dortmund, while Leipzig are fifth with 38 and Bayern Munich are runaway leaders with 59.
The match was the first of five Monday night games scheduled to be played in the Bundesliga this season, a decision which has however angered supporters.
Hundreds of fans left the terraces shortly before kick-off and occupied the area behind the pitch with banners which carried messages such as “No to Monday night football”.
The start of the match was in the process delayed for six minutes.
Before the beginning of the second half, hundreds of green tennis balls were thrown onto the pitch and toilet rolls were hurled at the goals, causing a further delay.
Instead of singing, fans whistled constantly for much of the game.
Frankfurt supporters groups had called for the protests on Friday, saying that the league and clubs were “prepared to sacrifice our interests for the smallest of financial gains.”
“As long as they have a few more euros in their pockets, they couldn’t care less how many days’ holiday we need to take to attend an away game,” said a statement from the fans. Marketing is their highest priority.”
The Bundesliga had said it wanted to give more recovery time to teams playing in Thursday night Europa League matches, which is the case with Leipzig this season.
Jean-Kevin Augustin gave Leipzig a 13th minute lead after they threaded their way through the Frankfurt defence with a slick passing move.
But the hosts hit back with two goals in five minutes.
Timothy Chandler finished off a session of head tennis in the Leipzig area by scoring at the far post in the 22nd minute.
Kevin-Prince Boateng then hammered the ball home first time from Ante Rebic’s cross.
Leipzig were awarded a penalty kick four minutes later after Rebic fouled Marcel Sabitzer, but the referee changed his mind after a VAR review as Sabitzer had been offside.
A late tackle by Leipzig’s Naby Keita on Makoto Hasebe sparked a scuffle involving several players, but the pair got away with a lecture after tempers cooled.