Im Spätsommer 1386 eroberten die Eidgenossen das unter habsburgischer Herrschaft stehende Dorf Weesen am Walensee. Zeitgleich erhoben sich die Glarner gegen die Habsburger, die im Glarnerland noch immer Rechte besassen. Die Glarner zerstörten die Burg Windegg bei Schänis und verabschiedeten am 11. März 1387 ihr erstes Landgesetz, was faktisch die Loslösung von den Habsburgern bedeutete. Die erzürnten Habsburger reagierten darauf mit der Rückeroberung von Weesen. In der Nacht im Februar 1388 gelang es ihnen, das Dorf zu überfallen. Sie überraschten die schlafenden Eidgenossen und ermordeten 34 von ihnen. Dieser Vorfall ging als „Mordnacht von Weesen“ in die Geschichte ein.
Die Habsburger formierten in Weesen ein Heer von 600 Reitern und rund 6000 Fusssoldaten. Am 9. April 1388 marschierten sie unter der Führung von Graf Donat von Toggenburg und Ritter Peter von Thorberg in Richtung Glarus. Eine zweite Kolonne unter der Leitung von Graf Hans von Werdenberg-Sargans rückte vom Kerenzerberg ins Tal vor. Die Glarner hatten am Talausgang lediglich 300 Mann stationiert, die dem Ansturm der Habsburger nicht standhalten konnten. Die feindlichen Truppen drangen ins Glarnerland vor, überfielen die Dörfer Näfels, Netstal, Mollis und Glarus und hinterliessen eine Spur der Zerstörung. Umgehend eilte Verstärkung aus Schwyz, Uri und Unterwalden herbei, um den bedrängten Glarnern zu Hilfe zu kommen. Sie versammelten sich im Schutz eines Schneegestöbers nahe dem abgebrannten Dorf Näfels am Rautiberg.
Die Habsburger waren in der Überzahl, sahen die kleinere Streitmacht der Eidgenossen und griffen unverzüglich an. Doch die Eidgenossen griffen auf eineList zurück : Sie liessen Geröll und Felsbrocken vom Berg herab auf die Angreifer rollen, was Panik und Verwirrung in den Reihen der Habsburger auslöste. Die Pferde scheuten, warfen ihre Reiter ab, und in diesem Moment nutzten die Schweizer die Gelegenheit zum Gegenangriff. Die Habsburger flohen in Panik, viele fanden in den Sümpfen bei Weesen den Tod, andere ertranken in der Maag, als eine Brücke einstürzte. Die zweite Kolonne, die vom Kerenzerberg her anrückte, sah das Desaster und zog sich bei Beglingen, nahe des heutigen Mollis, unverrichteter Dinge zurück. Die Eidgenossen verloren in der Schlacht etwa 54 Männer, während die Habsburger mehrere hundert Gefallene zu beklagen hatten.
In der Folge wurde Frieden geschlossen, und die Habsburger verzichteten auf ihre Rechte in Uri, Schwyz, Unterwalden, Luzern, Zürich, Zug, Bern und Glarus. Die Schlacht bei Näfels markierte das Ende der militärischen Auseinandersetzungen zwischen den Habsburgern und den Eidgenossen.
Bis heute ist der erste Donnerstag im April ein kantonaler Feiertag im Glarnerland. Bei der „Näfelser Fahrt“ ziehen viele Glarner zu Fuss nach Näfels, um der Schlacht feierlich zu gedenken. Die heutige Pfarrkirche St. Hilarius in Näfels steht an der Stelle, wo bereits vor ihrem Bau im 18. Jahrhundert eine Schlachtkapelle errichtet worden war.