Trailing to Zenun Selimi goals on 11 and 16 minutes, Grasshoppers responded with an equaliser on the stroke of half-time from opening scorer José Eduardo and further goals from Antonio Daniel Raijho and Ricardo Cabanas. The result extended Grasshoppers' advantage at the top of the Nationalliga A to nine points.
Defending champions FC Basel lost more ground, however, as they went down 4-2 at FC Thun. Despite a Hervé Tum double, Christian Gross's team were undone by goals from Milaim Ruma, with a brace, Patrick Baumann and Adrian Moser. Not the ideal preparation for the midweek UEFA Champions League clash with Celtic FC.
FC Zürich moved into third place after Daniel Taroni's last-ditch effort gave them a 3-2 home win against Neuchâtel Xamax FC. The visitors had looked set to claim a point when Leandro equalised goals from Stephan Keller and Alhassane Keita.
Servette on song
Meanwhile, Servette FC climbed into fourth position with a 5-0 thrashing of FC Aarau. The bottom club had no answer to the Geneva side, whose scorers were Philippe Senderos, Paolo Diego, Leonard Thurre and Massimo Lombardo with a late double.
Young Boys wither
Elsewhere, FC St. Gallen joined BSC Young Boys on 12 points in mid-table after home advantage told in the meeting of the sides. Stéphane Chapuisat's 90th-minute strike came too late for Young Boys, who had conceded goals to Sasha Müller and Alex Imhof.
Parity in Lucerne
FC Luzern and FC Wil played out a 1-1 draw, Felix Mordeku equalising Alexandre Monteiro's opener for Luzern.