Devant l'avancée des armées alliées, Masséna se retranche dans la ville de Zurich où la bataille s'engage dès le 4 juin et se poursuit pendant deux jours, après lesquels le général français en net désavantage numérique se retire à l'ouest de la Limmat, laissant l'archiduc Charles pénétrer dans la ville. Les troupes autrichiennes, dans les jours qui suivent, s'emparent encore des cantons de Schwytz, de Glaris, d'Uri et du Tessin, coupant ainsi le pays en deux et forçant les autorités de la république à quitter Lucerne, trop proche des lignes autrichiennes, pour se réfugier à Berne qui devient ainsi la nouvelle capitale du pays.