Kick off was delayed at the start of both halves due to a large-scale protest by Frankfurt fans against the scheduling of Monday night football in the Bundesliga.
With 12 minutes played, Konrad Laimer launched a darting run into the box to set-up Jean-Kevin Augustin, who swept in the opener for Leipzig.
Frankfurt refused to stay behind for long as US defender Timmy Chandler stabbed in the equaliser after Leipzig failed to deal with a corner.
Former Tottenham and Portsmouth midfielder Kevin Prince-Boateng rolled in what proved to be the victor in the first half.
Kevin Prince Boateng has been a great inspirational figure for the young Frankfurt side and his splendid performance for the side has shot them to the 3rd position - a spot they will relish to be by the end of the league.
The whistling finally subsided in the 22nd minute when Chandler equalised, poking the ball home from close range after a corner.More news: British PM Theresa May under pressure after 62 lawmakers demand hard Brexit
Leipzig were awarded a penalty four minutes later after Rebic fouled Marcel Sabitzer but the referee changed his mind after a VAR review as Sabitzer had been offside.
Before the beginning of the second half, tennis balls were thrown and toilet rolls hurled at the goals.
He chose to push Keita, which led to every player from both sides getting involved. An army of tennis ball removers were tasked with clearing the playing surface, which delayed kick off by at least another five minutes.
The fans' ill temper transferred onto the pitch, with Zwayer showing six yellow cards in a hard-fought second half alone.
The hosts won an entertaining game 2-1 to move up to third in the table. Instead of singing, fans whistled constantly for much of the game.