text: The visitors, who were fourth having drawn 10 of their 17 unbeaten games, led through Nadiem Amiri but Timo Werner tapped in an equaliser.
  Hoffenheim then had top scorer Sandro Wagner sent off for kicking Stefan Ilsanker.
  And second-placed Leipzig took advantage with Marcel Sabitzer's deflected strike proving the winner.
  The season's surprise package remain three points behind Bayern Munich, who won 2-1 at Werder Bremen.
  Match ends, RB Leipzig 2, 1899 Hoffenheim 1.
  Second Half ends, RB Leipzig 2, 1899 Hoffenheim 1.
  Davie Selke (RB Leipzig) wins a free kick in the defensive half.
  Foul by Sebastian Rudy (1899 Hoffenheim).
  Substitution, RB Leipzig. Rani Khedira replaces Timo Werner.
  Davie Selke (RB Leipzig) is shown the yellow card.
  Offside, RB Leipzig. Marvin Compper tries a through ball, but Davie Selke is caught offside.
  Attempt missed. Diego Demme (RB Leipzig) left footed shot from a difficult angle on the left is just a bit too high. Assisted by Davie Selke following a set piece situation.
  Substitution, RB Leipzig. Dominik Kaiser replaces Naby Keita.
  Benjamin Hübner (1899 Hoffenheim) is shown the yellow card for a bad foul.
  Timo Werner (RB Leipzig) wins a free kick on the right wing.
  Foul by Benjamin Hübner (1899 Hoffenheim).
  Ádám Szalai (1899 Hoffenheim) is shown the yellow card.
  Bernardo (RB Leipzig) wins a free kick in the defensive half.
  Foul by Mark Uth (1899 Hoffenheim).
  Foul by Bernardo (RB Leipzig).
  Steven Zuber (1899 Hoffenheim) wins a free kick on the left wing.
  Offside, RB Leipzig. Marvin Compper tries a through ball, but Davie Selke is caught offside.
  Attempt missed. Timo Werner (RB Leipzig) right footed shot from the centre of the box is close, but misses to the left. Assisted by Marcel Sabitzer.
  Offside, RB Leipzig. Marcel Halstenberg tries a through ball, but Timo Werner is caught offside.
  Attempt missed. Kerem Demirbay (1899 Hoffenheim) left footed shot from outside the box is close, but misses to the right from a direct free kick.
  Marvin Compper (RB Leipzig) is shown the yellow card for a bad foul.
  Foul by Marvin Compper (RB Leipzig).
  Mark Uth (1899 Hoffenheim) wins a free kick in the attacking half.
  Offside, RB Leipzig. Diego Demme tries a through ball, but Timo Werner is caught offside.
  Offside, RB Leipzig. Marcel Halstenberg tries a through ball, but Davie Selke is caught offside.
  Foul by Timo Werner (RB Leipzig).
  Sebastian Rudy (1899 Hoffenheim) wins a free kick in the defensive half.
  Goal!  RB Leipzig 2, 1899 Hoffenheim 1. Marcel Sabitzer (RB Leipzig) right footed shot from outside the box to the bottom left corner. Assisted by Naby Keita.
  Bernardo (RB Leipzig) wins a free kick in the defensive half.
  Foul by Ádám Szalai (1899 Hoffenheim).
  Substitution, 1899 Hoffenheim. Ádám Szalai replaces Nadiem Amiri.
  Foul by Marcel Halstenberg (RB Leipzig).
  Kerem Demirbay (1899 Hoffenheim) wins a free kick on the right wing.
  Foul by Naby Keita (RB Leipzig).
  Mark Uth (1899 Hoffenheim) wins a free kick in the defensive half.
  Marcel Sabitzer (RB Leipzig) wins a free kick on the left wing.
  Foul by Niklas Süle (1899 Hoffenheim).
  Substitution, RB Leipzig. Davie Selke replaces Yussuf Poulsen.
  Willi Orban (RB Leipzig) wins a free kick in the defensive half.
target: The final unbeaten start in Europe's top five leagues ended as Hoffenheim lost to title-chasing RB Leipzig.