Poschiavo liegt im Engadin, im Südosten der Schweiz, ganz in der Nähe der italienischen Grenze. Durch die Nähe zu Italien hat die Stadt ein sehr italienisches Flair, ist aber dennoch eine Schweizer Stadt.