Julian Nagelsmann made four changes to the team that fought back to claim a 3-3 draw in Dortmund last time out. Shot-stopper Oliver Baumann was protected by a back three in which the fit-again Kevin Vogt and Kasim Adams, who replaced the injured duo of Benjamin Hübner and Ermin Bicakcic, lined up alongside Stefan Posch. Wing-backs Pavel Kaderabek and Nico Schulz retained their places.
Nadiem Amiri replaced the suspended Florian Grillitsch in midfield, where he played alongside Kerem Demirbay and Joelinton. Ishak Belfodil, who scored two goals in Dortmund, kept his place in the starting XI and formed a strike partnership with Andrej Kramaric.
Vogt moved forward into a defensive midfield role when Hannover had the ball, but took up the central position in the back three when Hoffenheim had possession.
TSG made their first change of the match in the 74th minute, with goalscorer Joelinton making way for Leonardo Bittencourt. The second switch followed five minutes later as Adam Szalai replaced Kramaric in attack. With five minutes to go before the final whistle, Nagelsmann withdrew Belfodil and handed David Otto his Bundesliga debut.
Moment of the match:
The 85th minute: David Otto came on for Ishak Belfodil and made his Bundesliga debut for TSG.
Number of the game: 10
The 3-0 win saw TSG extend their unbeaten home run against Hannover 96 to 10 matches. "Hoffe" now have eight wins and two draws from their meetings with the 96ers in Sinsheim.