Nachdem die Piemontesen am 20. und 21. Mai 1859 bei Montebello und Palestro österreichische Angriffe auf die Flanke der in Italien eingetroffenen französischen Armee erfolgreich abgewehrt hatten, wurde auch Garibaldis 3.000 Mann zählende Brigade der Alpenjäger (ital.: Cacciatori delle Alpi) aktiv, welche nördlich der auf Magenta und Mailand zumarschierenden Piemontesen und Franzosen eingesetzt wurde. Den Vorstoß auf Varese und zum Gardasee blockierte eine österreichische Division, die bei Sesto Calende bereits am 25. Mai eine kleine Alpenjägereinheit angegriffen hatte. Nachdem Garibaldi die Stadt Varese besetzt hatte, griff von Urban die Stadt am Morgen des 26. Mai mit etwa 4.000 Mann an. Garibaldi hatte im Norden Barrikaden errichten lassen, vier Bataillone befanden sich im Osten, zwei weitere hielt man in Reserve. Ein erster Angriff brachte den Österreichern keinen Erfolg, die sich dann nach einem entschlossenen Gegenangriff der Alpenjäger in Richtung Malnate zurückzogen. Eine österreichische Nachhut auf den Höhenzügen von San Salvatore wurde nach zweistündigen Gefechten ebenfalls vertrieben.
Verlauf der Gefechte
Am Morgen des 27. Mai stieß Garibaldi von Varese aus nach Como vor, wo sich die Österreicher mit eingetroffenen Verstärkungen verschanzt hatten. Westlich von Como liefen die österreichischen Stellungen von den Höhenzügen von San Fermo bis Civello im Süden. Die Reserve befand sich in Lucino. Gegen 16 Uhr griff Garibaldi mit einem Regiment im Süden an, während die beiden anderen auf die Höhenzüge im Norden angesetzt wurden. Bei San Fermo scheiterten die Alpenjäger zunächst, ein zweiter Angriff brachte jedoch den Erfolg. Die österreichischen Verbände zogen sich nach dem Verlust von San Fermo auf Rondineto zurück, wo ihr mit Verstärkungen aus Brescia erfolgter Gegenangriff misslang. Nachdem die übrigen Alpenjägerverbände alle anderen gegnerischen Stellungen eingenommen hatten, drangen sie gegen 21.30h durch die Porta Sala in Como ein, während sich die Österreicher gleichzeitig durch die Porta Torre aus der Stadt in Richtung Camerlata zurückzogen. Bis zum frühen Morgen des 28. Mai besetzten die Alpenjäger auch diesen Ort. Am folgenden Tag unterstützten die Alpenjäger die Einwohner Leccos bei ihrem Aufstand gegen die österreichische Garnison.
Am 31. Mai drang von Urban mit einem Überraschungsmanöver vorübergehend wieder in Varese ein. Da sie die Alpenjäger Garibaldis in den Tagen davor ausgelassen gefeiert hatte, legte Urban der Stadt eine Strafe von drei Millionen Lire auf und beschlagnahmte 3.000 Kühe. Da die Strafe nicht erbracht werden konnte, beschoss Urban die Stadt und nahm Geiseln. Als Garibaldi und seine Alpenjäger von den Geschehnissen in Varese erfuhren, kehrten sie um und bereiteten die Wiedereroberung der Stadt vor. Wegen erneuter Kämpfe in Como kam es jedoch zu einer Änderung dieses Planes. Garibaldi marschierte über Uddero und Ruggiate nach Como und dann weiter nach Bergamo, das die Österreicher bis zum 8. Juni bereits aufgegeben hatten, weil sie am 4. Juni 1859 bei Magenta eine entscheidende Schlacht gegen die Franzosen verloren hatten. Auf Bergamos Bahnhofsgelände versuchte Garibaldi, einen österreichischen Zug mit 1.500 aus Brescia herangeführten Soldaten zu überraschen. Da die Österreicher von diesen Planungen erfuhren, stiegen sie bereits in Seriate aus. Dort wurden sie von der Alpenjägerkompanie des Hauptmanns Bronzetti angegriffen, die einen Teil der österreichischen Soldaten gefangen nahm, während sich der Rest wieder nach Brescia zurückzog.
Folgen
In Brescia marschierten die Alpenjäger am 13. Juni ein und deckten im weiteren Verlauf am Gardasee die linke Flanke der Piemontesen und Franzosen. Bei Solferino und San Martino kam es dann zu den entscheidenden Schlachten, durch die die Befreiung Italiens von der österreichischen Herrschaft ermöglicht wurde.