Eric Hassli scored a hat-trick for Zurich in the 11th, 17th and 43rd minutes, but the visitors were pegged back each time by goals from Fakhreddine Guelbi (13), Gudmundur Steinarsson (23) and Odirlei Gaspar (53) for Vaduz.

The game looked to be heading for a draw until Dusan Djuric made it 4-3 in the 88th minute and substitute Yassine Chikhaoui added a fifth in injury time.

The victory keeps Zurich four points clear of second-placed Basle, who won 2-0 at home to Lucerne.

Reto Zanni (59) and Marko Perovic (73) scored the goals to ensure Basle maintain the pressure on the leaders.