Chiavenna ligger rundt 25 km nord for Comosjøen, ved elven Mera. Byen er sentrum for Valchiavenna. Fra Chiavenna går to fjelloverganger i Alpene, benyttet allerede under Romerriket. Den ene overgangen fører nord gjennom Val San Giacomo over Splügenpasset til Chur i Graubünden. Den andre fører mot øst gjennom Val Bregaglia over Malojapasset og videre over Julierpasset til Chur.