They had to wait until early in the second half before Aziz Bouhaddouz gave them the lead, before the Moroccan set up Christopher Buchtmann for the second.
Marcel Gaus pulled one back to set up a grandstand finish but St. Pauli hung on and shot up to the dizzying heights of seventh in the table, with Kaiserslautern still not certain of their survival.
Closing in on safety
Both sides won last weekend to put themselves five points clear of the bottom three, a much bigger achievement for St. Pauli who had been bottom when at Christmas. In fact they were level on 38 points, with St. Pauli in eleventh just ahead of Kaiserslautern on goal difference.
Kaiserslautern unsurprisingly stuck with the same eleven that started the 3-1 victory over Karlsruher SC that relegated their rivals. St. Pauli, after their 3-0 win against 1. FC Heidenheim, brought in Daniel Buballa for Jeremy Dudziak.
They two teams had drawn 0-0 when they met at the Millerntor in December. That result can though be seen as the turning point in St. Pauli’s season, having lost just three times since then.
Hornschuh denied early goal
It took St. Pauli just eight minutes to score the first goal – or so they thought. Marc Hornschuh headed in a free-kick from Waldemar Sobota. However the flag was up for offside, with replays showing that it was, marginally, a good call.
That set the tone for much of the first half, with St. Pauli controlling the game. Buchtmann curled a free-kick just shy of the top corner, but Bouhaddouz had their chance. He could only strike Sobota’s free-kick over, but he should have done better.
The hosts began to wake up late in the half, without worrying Philipp Heerwagen too much. Christoph Moritz came close, being set up by Robin Koch after Heerwagen punched away a corner, but he was in an offside position. It remained goalless at the break.
Bouhaddouz and Buchtmann fire St. Pauli to safety
Kaiserslautern could have scored almost straight after the break, with Gaus’s shot blocked by Heerwagen after a couple of poor headed clearances. They were soon behind though, as Bouhaddouz scored his 15th goal of the season by out-jumping Phillipp Mwene to head in Hornschuh’s cross.
The hosts threatened to strike back with two chances in less than a minute. Ewerton headed a corner onto Jacques Zoua, whose shot was kept out by Heerwagen, before Kacper Przybylko had an even better chance, but he was denied by a Bernd Nehrig block.
The momentum kept swinging this way and that early in the second half. Lasse Sobiech almost scored from a Buchtmann corner, but Mwene headed it off the line, before Bouhaddouz squandered a great headed opportunity from another Buchtmann corner.
Those two would combine just under ten minutes later as St. Pauli doubled their lead. Bouhaddouz cut through four Kaiserslautern defenders with an excellent pass to Buchtmann, who reacted quicker than them to slot it in.
They looked set to seal the win but there was a late twist. Gaus pulled a goal back in the final minute of normal time after heading in Mwene’s cross. They piled on the pressure in the closing stages, but their performance over the whole game did not warrant the equaliser, and St. Pauli saw out the decisive win.