因境內西山得名。原屬昆明縣(1953年昆明縣并入昆明市)。1956年10月設立西山區,轄原昆明市第八區、第九區所轄22個鄉。
1982年第三次人口普查,西山區總戶數64210戶,總人口288266人。1983年2月17日,西山區管轄的虹山區域及居民住宅區劃歸五華區,并命名為“虹山新村”;其范圍內農業戶,仍歸西山區管轄。1984年,政社分開,8個公社改為辦事處,大隊改為小鄉;全區轄8個農村辦事處及馬街、黑林鋪、中灘3個城鎮辦事處,62個小鄉(其中民族鄉18個)。
1988年2月,鄉鎮體制改革,辦事處改建鄉(鎮),改東風、海聯為馬街、黑林鋪;建立馬街鎮、黑林鋪鎮、碧雞鎮、?阪;團結彝族白族鄉、谷律彝族自族鄉、沙朗白族鄉、廠口鄉,原小鄉改稱辦事處;全區轄4鎮4鄉、1個街道辦事處(鄉級),13個城鎮居委會、62個農村辦事處,454個自然村,380個村委會,568個生產合作社。
1990年第四次人口普查,西山區總戶數84493戶,總人口為332831人。1992年,全區總面積1053.3平方千米。轄1街道、4鎮、1鄉、3民族鄉:棕樹營街道、馬街鎮、黑林鋪鎮、?阪偂⒈屉u鎮、廠口鄉、團結彝族白族鄉、谷律彝族白族鄉、沙朗白族鄉。共有13個城鎮居委會、62個農村辦事處,454個自然村,380個村委會,568個生產合作社。區政府駐馬街鎮。
2000年第五次人口普查,西山區常住總人口603363人,其中:棕樹營街道82890人,馬街鎮237086人,黑林鋪鎮115598人,碧雞鎮33944人,海口鎮76563人,團結彝族白族鄉23101人,谷律彝族白族鄉7525人,沙朗白族鄉17536人,廠口鄉9120人。
2001年,全區轄1個街道、4個鎮、1個鄉、3個民族鄉:棕樹營街道、馬街鎮、黑林鋪鎮、碧雞鎮、?阪、廠口鄉、團結彝族白族鄉、谷律彝族白族鄉、沙朗白族鄉。2003年3月20日,云政復[2003]19號:撤銷西山區馬街鎮、黑林鋪鎮,設立馬街、黑林鋪街道辦事處。6月20日,馬街鎮、黑林鋪鎮正式撤鎮設立街道。
2004年6月3日,國務院批準(國函[2004]42號)調整昆明市市轄區行政區劃:調整昆明市五華區、盤龍區、官渡區、西山區的行政區劃。將西山區的沙朗、廠口2個鄉;黑林鋪街道辦事處機關,黑林鋪、普吉、大塘、海源、聯家、普吉、團山7個村(居)委會,昭宗村委會部分;馬街街道辦事處的洪園、黃土坡2個社區居委會,紅聯、梁源、張峰3個村(居)委會部分;棕樹營街道辦事處的潘家灣居委會、棕樹營東片區居委會部分劃歸五華區管轄。調整后,西山區總面積791平方千米,城市建成區面積42平方千米。人口約85萬人,其中常住人口近45萬人。轄棕樹營、馬街、金碧、土橋、永昌、福海、前衛7個街道,碧雞、海口2個鎮,團結彝族白族鄉、谷律彝族白族鄉。
2006年,撤銷團結彝族白族鄉和谷律彝族白族鄉,設立團結鎮,鎮政府駐原團結彝族白族鄉政府駐地。2006年末,西山區人口66.79萬人。轄7個街道、3個鎮:馬街街道、前衛街道、福海街道、金碧街道、永昌街道、棕樹營街道、碧雞鎮、?阪、團結鎮。共有62個居委會、35個村委會。共有62個居委會、35個行政村。區政府駐西苑街道。
2009年,昆明市決定將西山區盤龍江以西,廣福路以南,船房河以東12.5平方千米區域劃由昆明滇池國家旅游度假區管理,所涉及的移交范圍包括隸屬前衛街道的金河社區、太河社區、星海社區、金家社區,隸屬福海街道的大壩社區、周家社區、陸家社區的部分居民小組,以及新河社區2個居民小組的部分區域。7月1日零時起,西山區將以上涉及區域內的各項管理和服務職能職責正式移交度假區接管。
2009年,撤銷碧雞鎮、?阪偂F結鎮,設立碧雞街道、海口街道、團結街道。至此,全區轄10個街道:西苑街道、馬街街道、金碧街道、永昌街道、前衛街道、福海街道、棕樹營街道、碧雞街道、?诮值、團結街道。
2010年第六次人口普查,西山區常住總人口753813人,其中:西苑街道51558人,馬街街道82100人,金碧街道130470人,永昌街道53600人,前衛街道58687人,福海街道122060人,棕樹營街道52314人,碧雞街道35705人,?诮值78163人,團結街道31737人,昆明滇池國家旅游度假區57419人。