Bayer Leverkusen's title hopes took another hit on Sunday after a 1-1 draw with stubborn St. Pauli, a result which sees Bayern Munich extend its lead at the top of the Bundesliga table.
The hosts started confidently and created better chances early on. Boukhalfa and Saliakas both tested Leverkusen goalkeeper Lukas Hradecky in the opening 15 minutes, while Florian Wirtz, back in the starting line-up, struggled to find his rhythm.
Despite St. Pauli's bright start, it was the defending champions who took the lead in the 32nd minute. Alejandro Grimaldo's pinpoint free kick found Patrik Schick unmarked at the far post. The Czech striker's header beat St. Pauli goalkeeper Nikola Vasilj to give Leverkusen the lead.
The visitors looked in control at the break but were unable to convert their dominance into a second goal. Wirtz came close with a clever free kick, while St Pauli continued to threaten on the counter.
In the second half, the game lost momentum, but the home side grew in belief. Leverkusen thought they had equalised through Morgan Guilavogui in the 74th minute, but his goal was disallowed for handball.
Four minutes later, the home side had its moment. Hradecky spilled a routine save from Sinani's free-kick, and Boukhalfa was the quickest to react and bundle the ball over the line.
Leverkusen pushed for a late winner, but St. Pauli held firm, with Vasilj denying Grimaldo and Hincapie late on.
As St. Pauli move closer to safety, Leverkusen now sits eight points adrift of Bayern with four games remaining.
"The title race isn't mathematically over, but we've had too many draws this season to keep up with Bayern. Today we were shaky, and the late equaliser was hard to take," said Leverkusen coach Xabi Alonso. "We didn't start well in the first 15 minutes, and in the end, we couldn't convert our counterattacks. It's not a good result for us."
Elsewhere, Borussia Dortmund came from behind to beat Borussia Monchengladbach 3-2, while third-placed Eintracht Frankfurt was held to a goalless draw by Augsburg.