Personnel and tactics
Coach Julian Nagelsmann opted for the same 3-5-2 formation he had deployed against Bayern on the opening day but made one personnel change, with Steven Zuber replacing Vincenzo Grifo. Ermin Bicakcic, Kevin Vogt and Kasim Adams formed the back three ahead of shot-stopper Oliver Baumann, with Pavel Kaderabek and Nico Schulz occupying the wide berths. Florian Grillitsch, Leonardo Bittencourt and Zuber lined up in the three midfield positions, while Joelinton and Adam Szalai again started as the forward partnership.
But in a game that proved to be intense from the off, Nagelsmann was forced into making an early personnel change when right-sided centre-back Ermin Bicakcic sustained an injury to his right foot and was unable to continue. He was replaced by Kevin Akpoguma, but Hoffenheim's bad luck continued as Kasim Adams became the next defender to be substituted following a tough tackle on the stroke of half-time. Andrej Kramaric came on in his stead, prompting a tactical change as the hosts transitioned into a 4-3-3 system. The third and final change after the break was another prompted by injury, with Akpoguma, who himself had only come on as a substitute to replace Bicakcic, becoming the third defender to depart the pitch prematurely following an aerial collision with a Freiburg player. He received treatment for a head wound for some time before being replaced by Havard Nordtveit.
Moment of the match
It was not until the 95th minute, when TSG extended their lead to 3-1 moments after Freiburg had almost levelled from a corner, that they could breathe a sigh of relief. Bittencourt played the ball deep into the opposition half and, with goalkeeper Schwolow racing back after going up for the corner, Kramaric got to the ball first and slotted it into an empty net.
Number of the game: 3
Adam Szalai has scored three goals in his opening two matches of the season and made a decisive contribution to picking up the first three points of the season today.
The ball finds its way into the back of the Freiburg net but it doesn't count. Despite the goal initially being given, the referee reverses his decision after consulting VAR and spotting that Leonardo Bittencourt was standing in an offside position.
There's another chance to break the deadlock moments later and Bittencourt is at the centre of the action once again. The midfielder is played clean through by Joelinton but his effort is well kept out by SCF custodian Schwolow.
Szalai plays the ball out to Kaderabek on the flank and the Czech international whips it into the box. His fellow full-back Schulz meets the cross on the volley but it sails narrowly wide.
Akpoguma clears a Gondorf free-kick but the ball lands at the feet of Dominique Heintz, who slots past Baumann unimpeded to put the visitors into the lead.
Adam Szalai meets a brilliant cross from Schulz and heads it goalbound, only for Schwolow to keep the Freiburg lead intact with a wonderful reflex save.
A cross from Kaderabek is followed by a defensive mix-up in the Freiburg box and Szalai takes full advantage, tapping the ball into an empty net for what is a deserved equaliser.
Free-kick for Freiburg 25 metres from goal: Gondorf steps up and curls the ball towards the back post, but Baumann dives full length and turns the ball around the post with an outstretched hand.
Brilliant attack down the left flank for TSG. Schulz crosses the ball to the edge of the six-yard box and Szalai is in the right place at the right time to claim his second goal of the game. It's his third of the season after also scoring in the opener against Bayern.
Freiburg come dangerously close to restoring parity when Petersen gets the better of Baumann in an aerial battle and heads against the crossbar. That was a close shave!
With defeat beckoning, Freiburg send shot-stopper Schwolow forward for a corner deep into injury time. Bittencourt wins the ball and smashes it forward to the onrushing Kramaric, who taps it into an empty net to make the score 3-1.