St. Pauli consolidated top spot with victory over promotion rivals Greuther Fürth, while Schalke edged their relegation six-pointer and Hamburg won at Hertha to climb back into the top two.
St. Pauli 3-2 Greuther Fürth
Goals: 1-0 Saad (30'), 2-0 Afolayan (33'), 2-1 Sieb (44'), 2-2 Asta (59'), 3-2 Saad (81')
Elias Saad scored a brace as St. Pauli consolidated top spot with a thrilling 3-2 win over promotion rivals Greuther Fürth. Johannes Eggestein had already missed three decent chances, when Saad and Oladapo Afolayan struck in the space of three first-half minutes to put Pauli in control. Fürth showed why they were unbeaten in their last 10 as goals from Armindo Sieb and Simon Asta restored parity before the hour mark, but Pauli regrouped and duly retook the lead through Saad. Seeing out the result with minimum fuss, Pauli ended the day with a healthy seven-point cushion on Fürth in the promotion play-off spot. The win also means they're unbeaten in a record-equalling 25 Bundesliga 2 matches.
Schalke 1-0 Eintracht Braunschweig
Goals: 1-0 Karaman 61'
Kenan Karaman's second-half goal gave Schalke a priceless win in their relegation six-pointer with Eintracht Braunschweig. Johan Gomez went close to opening the scoring inside two minutes, but the Eintracht striker could not make contact with Fabio Kaufmann's cross. The Royal Blues responded in kind as Marcin Kamiński's header met the reflexes of Ron-Thorben Hoffmann. Karaman struck the woodwork, before Simon Terodde spurned two presentable chances immediately after the restart. Karaman found his range just past the hour, though, racing into the area and curling home a superb winner that lifts Schalke three points clear of second-bottom Braunschweig.
Hertha Berlin 1-2 Hamburg
Goals: 0-1 Muheim 77', 1-1 Tabaković 82', 1-2 Reis 90+13'
There was little to choose between the sides as they both rattled the woodwork in the first period via András Németh and Haris Tabaković. A tidy long-range finish from Miro Muheim put the visitors in front, before Tabaković finished inside the box to level a few minutes later during a lively second half. Ludovit Reis then headed Hamburg into the top two with a late strike.
Nuremberg 2-2 Osnabrück
Goals: 1-0 Uzun 17', 1-1 Engelhardt 43', 2-1 Uzun 51', 2-2 Wriedt 90'+3
Former Bayern Munich attacker Kwasi Okyere Wriedt scored in the 93rd minute to rescue a point for bottom side Osnabrück in Nuremberg. Can Yilmaz Uzun broke the deadlock for the ninth-placed hosts, who were pegged back shortly before half-time through Erik Englehardt's sixth goal of the campaign. Uzun completed his brace soon after the restart, but Osnabrück refused to throw in the towel as Jannes Wulff struck the woodwork. Fellow substitute Wreidt went one better with a close-range equaliser as VfL cut the deficit on the relegation play-off spot to a not entriely insurmountable nine points.
Karlsruhe 2-2 Wehen Wiesbaden
Goals: 1-0 Zivzivadze 35', 1-1 Prtajin 48', 2-1 Matanovic 53', 2-2 Bätzner 74'
Karlsruhe were held to their first draw in four games, having won the previous three, despite twice taking the lead against promoted Wehen Wiesbaden. Budu Zivzivadze opened the scoring, prodding home his seventh goal of the season. That was cancelled out soon after the restart through Ivan Prtajin, but five minutes later Igor Matanović restored parity, matching his teammate's seven goals. Former Germany U21 midfielder Nick Bätzner had the final say, however.
Magdeburg 1-1 Holstein Kiel
Goals: 0-1 Becker 27', 1-1 Kuhinja 90'+5
It was also honours even between relegation-threatened Magdeburg and promotion-chasing Holstein Kiel, the former leaving it late to snatch a draw. Timo Becker gave the visitors the lead when he followed up on Lewis Holtby's free-kick midway through the first half, and it was one they defended until deep into injury time when Emir Kuhinja came off the bench to score his first goal at this level.
Paderborn 4-3 Fortuna Düsseldorf
Goals: 1-0 Kinsombi 19', 2-0 Hansen 34', 3-0 Bilbija 37', 3-1 Engelhardt 49', 3-2 Mustapha 55', 4-2 Kostons 82', 4-3 Jastrzembski 90'
Fortuna Düsseldorf failed to close the gap to the division's leaders as they were edged out by Paderborn in a seven-goal thriller. The hosts were in dreamland within 40 minutes, racing into a three-goal lead thanks to goals from David Kinsombi, Mattes Hansen and Filip Bilbija, but the visitors staged a mini-comeback via Yannik Engelhardt and Marlon Mustapha, with the latter's goal coming following a lengthy VAR check. However, Florian Kastenmaier was unable to stop Koen Kostons effort from the edge of the area nestling in the back of the net - that was his first goal in the second tier - and, although Dennis Jastrzembski reduced the arrears once more as full-time approached, Paderborn held on to move level with their opponents.
Hannover 2-1 Hansa Rostock
Goals: 1-0 Schumacher 4' (own goal), 1-1 Pröger 45'+5, 2-1 Halstenberg 78'
Red cards: Halstenberg 89'
Hansa Rostock remain in the relegation play-off spot after losing 2-1 to Hannover in a Northern derby. The hosts got off to the perfect start when Kevin Schumacher directed Derrick Köhn corner into his own net. They should have extended their advantage before the interval, but instead, Kai Pröger equalised in the fifth minute of injury time. After the restart, Marcel Halstenberg went from hero to zero in the space of 12 minutes - while his header put his side in front once more, he was given his marching orders with one minute left on the clock for a poor challenge in midfield. Ultimately, though, Hannover held on to boost their promotion hopes.
Elversberg 2-1 Kaiserslautern
Goals: 1-0 Wanner 19', 1-1 Ache 45'+6, 2-1 Jacobsen 55' (pen.)
Elversberg moved eight points clear of the relegation zone thanks to a narrow 2-1 victory over Kaiserslautern. Before the midway point of the first half, Elversberg had the lead, with Bayern Munich loanee Paul Wanner netting from Maurice Neubauer's assist. Just as it seemed the home team would take an advantage into the break, Ache struck at the death to level things up. However, following Almamy Touré's handball in the penalty area, Thore Jacobsen kept his cool from 12 yards to secure all three points for his side. While they move further away from trouble, Kaiserslautern are just one point ahead of Rostock in 16th.
Watch: The top 5 goals from Matchday 20
Matchday 24 overview
Pauli hold a six-point lead as they face relegation-threatened Schalke, Kiel in second visit Hertha, third-placed HSV welcome Osnabrück in Bundesliga 2.
Club-by-club historical guide: Bayern Munich
The reigning champions have spent the most seasons in the German top flight in its 60-year history.
Vote for February's Goal of the Month!
The likes of Harry Kane, Xavi Simons, Granit Xhaka and Deniz Undav are up for February's award, so who will you choose to take home the Goal of the Month crown? Vote now!