Felipe Caicedo put Basle in front after eight minutes only for David Marazzi to level. Basle soon went back in front with an Ivan Ergic goal.

Alex Tachie-Mensah scored two goals in two second-half minutes to put St Gallen 3-2 ahead. Substitute Eren Derdiyok made it 3-3 for Basle, who stay a point behind leaders and champions FC Zurich who have a game in hand.

In other games on Saturday, FC Thun beat Lucerne 2-1 with goals from Yves Zahnd and substitute Julian Buhler sandwiching a strike from Jean-Michel Tchouga.

Thomas Haberli gave Young Boys of Bern an early lead only for Aarau to snatch a point through Gurkan Sermeter.