В 1419 году кантоны Ури и Унтервальден купили крепость Беллинцону у баронов Сакко, однако не смогли обеспечить ей достойную оборону. В связи с этим Миланское герцогство предложило кантонам выкупить у них укреплённый городок, на что кантоны ответили отказом в 1422 году. Вскоре после этого войска дома Висконти под предводительством кондотьераФранческо Буссоне да Карманьолы выгнали швейцарский гарнизон и заняли крепость. Чтобы вернуть город, швейцарцы собрали крупную армию в 2500 солдат и двинулись через Сен-Готард к Беллинцоне, где после неудачной атаки разбили лагерь к северу от города.
Сражение
30 июня Карманьола предпринял неожиданное нападение на швейцарский лагерь. Швейцарцы вскоре выстроились в квадратное построение и отразили несколько кавалерийских атак противника.
В связи с этим Карманьола приказал своим всадникам спешиться и предпринять генеральную атаку на швейцарское каре. Подавляющее численное превосходство миланцев (16 000 солдат, из них 5000 всадников) сделало отступление неизбежным. Кроме того, кавалерийские копья миланцев были длиннее швейцарских алебард, в связи с чем солдаты Карманьолы имели очевидное преимущество в бою. Швейцарцы вынуждены были отступать по крутому склону к деревне Арбедо.
На первых порах швейцарцам положение казалось безвыходным, однако с приказом Карманьолы не брать пленных ожесточённость боя только усилилась. В последней яростной попытке швейцарцы сумели прорвать окружение и отступили на север, потеряв 500 воинов.
Победа в сражении сохранила Беллинцону за Миланским герцогством, кроме того, герцогство захватило область Шаблон:Iw, тем самым лишив швейцарцев всех их предыдущих завоеваний. Экспансия Конфедерации в области озера Лаго-Маджоре была остановлена. Кроме того, в результате битвы при Арбедо швейцарцы отказались от использования алебард в пользу длинных пик.