西昌市辖6个街道、8个镇、29个乡(其中2个民族乡): 街道:北城街道、西城街道、东城街道、长安街道、新村街道、长宁街道。 镇:马道镇、礼州镇、安宁镇、川兴镇、黄联关镇、佑君镇、太和镇、安哈镇。 乡:西郊乡、高枧乡、小庙乡、四合乡、月华乡、兴胜乡、琅环乡、民胜乡、西乡乡、樟木箐乡、响水乡、开元乡、大兴乡、海南乡、大箐乡、经久乡、西溪乡、黄水乡、洛古波乡、中坝乡、阿七乡、荞地乡、磨盘乡、巴汝乡、银厂乡、白马乡、马鞍山乡。 民族乡:裕隆回族乡、高草回族乡。