Grasshoppers found their scoring touch as they defeated strugglers Bellinzona 7-0.
Senad Lulic, Eulogio Zarate and Davide Calla gave the hosts a 3-0 half-time lead, and there was no let-up after the interval.
Boris Smiljanic scored the first of his two penalties and Lulic and Zarate each added their second goals.
Bellinzona then had goalkeeper Carlo Zotti sent off, having used all three substitutes, and Smiljanic completed their misery from the spot.
St. Gallen moved fourth in the table with a 2-0 win away to Aarau.
After a goalless first half, Mario Frick gave the visitors the lead before Moreno Costanzo made the game safe with 13 minutes remaining.