After a 1-1 draw with FC Augsburg in the final game of last weekend's matches, Niko Kovac made just one alteration to the XI as Marco Fabian replaced Mijat Gacinovic.
As for Julian Nagelsmann, he also went for the solitary change following their 4-0 win over 1. FC Köln. Lukas Rupp was installed in midfield for Sebastian Rudy.
Ugly first half
From the very start of the game, both sides were keen to stamp their authority on the game in a physical sense. Fabian was lucky not to see yellow for a tough challenge on Oliver Baumann, as the two defences remained largely in control. Any time that the two teams did attempt to get going, it was quickly halted by a cynical foul.
The first opening of the game fell for Alex Meier after good play by Haris Seferovic to get past Benjamin Hübner on the right. Just a few yards out, his effort ended up in the arms of a grateful Baumann. Niklas Süle responded with a chance of his own, after Hübner headed to his centre-back partner but his header was off target.
Omer Mascarell was next to try his luck as a kind bobble set the ball up for him to strike at goal, with Baumann again on hand to make a good save low to his right. The next major moment in the match involved a striking elbow from David Abraham on Sandro Wagner, who somehow escaped a caution - much to the visiting fans' surprise.
Hoffenheim twice threatened late in the half as a good save from Baumann halted a Meier curler, while Jeremy Toljan found the side-netting and Hübner had a goal disallowed.
Dingert produces plenty of cards
The second half began with no change to the teams or to the passionate nature, as Christian Dingert again opted to keep his cards in his pocket as Nadiem Amiri and Seferovic went head-to-head. The first yellow did come for a rather timid - in comparison to the rest - tackle from Fabian.
Both managers made changes on the hour as Ante Rebic replaced Seferovic, and Andrej Kramaric was sacrificed for Mark Uth. Rebic looked lively from the start although Uth was starved of the ball, with Frankfurt well on top. Baumann's poor punch was almost pounced upon, instead the play found itself brought back for a foul.
Frankfurt were all over Hoffenheim, and deflected efforts from both Meier and Rebic had Baumann sprawling but neither were really close to troubling his goal. Any hopes of a peaceful end were scrapped when a brawl ensured after Bastian Oczipka and Uth clashed. In the end Timothy Chandler was sent off for putting his hands on Wagner's neck.
The game was finally brought to a close but only after eight second half yellows and a red. In reality, it would have been much worse had Dingert been as happy to hand out the cards in the first half. As a result, both sides remained fifth and fourth respectively. Hoffenheim also stayed unbeaten.