山西省地处华北西部的黄土高原东翼。地理座标为北纬34°34'-40°43'、东经110°14'-114°33'。东西宽约290公里,南北长约550公里,全省总面积15.6万平方公里,约占全国总面积的1.6%。境界轮廓略呈东北斜向西南的平行四边形。东有巍巍太行山作天然屏障,与河北省为邻;西、南以涛涛黄河为堑,与陕西省、河南省相望;北跨绵绵内长城,与内蒙古自治区毗连。
山西地形较为复杂,境内有山地、丘陵、高原、盆地、台地等多种地貌类型。山区、丘陵占总面积的三分之二以上,大部分在海拔1000米至2000米之间。最高点为五台山的北台叶斗峰,海拔3058米,最低点在垣曲县境内西阳河入黄河处,海拔仅180米。
山西表里山河,东界太行山,西有吕梁山,北亘北岳恒山、五台山,南耸中条山,中立太岳山。
主要河流有汾河、海河两大水系。境内有大小河流1000多条,其中流域面积大于100平方公里、河长在150公里以上的有240条,大于4000平方公里、河长在150公里以上的有汾河、沁河、涑水河、三川河、昕水河、桑干河、滹沱河、漳河等。汾河最长,全长659公里。被称为中华民族文化摇篮的黄河,北自偏关县老牛湾入境,飞流直下,一泻千里,抵芮城县风陵渡而东折,南至垣曲县碾盘沟出境,途经19县560个村庄,流程965公里。
山西地形多样,高差悬殊,因而既有纬度地带性气候,又有明显的垂直变化。山西地处中纬度,距海不远,但因山脉阻隔,夏季风影响不大,属温带大陆性季风气候。年平均气温3°─14°C,昼夜温差大,南北温差也大。西部黄河谷地、太原盆地和晋东南的大部分地区,平均温度在8°-10°C之间。临汾、运城盆地年均温度达12°-14°C。冬季气温全省均在0°C以下,夏季全省普遍高温,7月份气温介于21°——26°C之间。山西无霜期南长北短,平川长山地短。大同盆地为110-140天,五台山仅85天,忻州盆地以北和东部山区135-155天,临汾、运城盆地则长达200-220天。全省年降水量在400-650毫米,但季节分布不均匀,夏季6月-8月降水高度集中且多暴雨,降水量约占全年的60%以上。全省降水受地形影响很大,山区较多,盆地较少。山西有三个多雨区,一是晋东南太行山区和中条山区,二是五台山区,三是吕梁山区。