First half highlights:
5th minute: The ball is whipped into the Hoffenheim penalty area from the left-hand side and Ömer Toprak stretches to reach it but cannot quite make contact. The ball flies just wide of the right-hand post for a goal kick.
12th minute: The hosts advance and Christoph Baumgartner finds himself in space in the Werder box. He directs a low effort towards the middle of the goal but it’s a comfortable save for Jiri Pavlenka.
19th minute: Toprak is again causing the home defence problems as he rises highest to connect with a Leonardo Bittencourt corner, but he can only direct his header at TSG keeper Oliver Baumann who saves.
24th minute: Felix Agu charges into the TSG box and falls under a challenge from a Hoffenheim defender. The referee waves away the Werder protests and play continues.
26th minute: Goal for Hoffenheim. Ihlas Bebou is played through by Diadie Samassekou and bears down on goal before finishing smartly across Pavlenka. The assistant referee initially flags for offside but VAR intervenes to confirm the goal for TSG as Bebou had timed his run perfectly.
39th minute: Werder push forward and the ball drops kindly for Milot Rashica. He lines up a shot and pulls the trigger but sees his effort blocked by a blue shirt.
44th minute: Goal for Hoffenheim. The hosts double their advantage as Christoph Baumgartner exchanges a one-two with Munas Dabbur and then forces his way through the Werder defence before sliding a low effort under Pavlenka.