신라 9주(九州)의 하나인 강주(康州)를 토대로 편성되었으며, 지금의 경상남도 서부에 해당한다.
995년(성종 14)에 당나라의 10도를 본떠 관내도(關內道) · 중원도(中原道) · 하남도(河南道) · 강남도(江南道) · 영남도(嶺南道) · 영동도(嶺東道) · 산남도(山南道) · 해양도(海陽道) · 삭방도(朔方道) · 패서도(浿西道)를 설치하였다. 산남도는 이 10도 중 하나이다.
산남도는 관내에 37개의 현(縣)을 두고 이를 10개의 주(州)로 편제하였다. 소속 관원으로는 절도사(節度使)가 진주(晉州) 1곳에, 도단련사(都團練使)가 허주(許州: 지금의 함양)와 대주(岱州: 지금의 성주) 등 2곳에, 자사(刺史)가 고주(固州: 지금의 고성)와 함주(咸州: 지금의 함안) 등 2곳에 두었다. 1018년(현종 9)에 실시한 지방제도 개편으로 계수관(界首官)이 설치되면서 대체로 진주목(晉州牧) 관할로 편성되었다.
10도 제도가 폐지된 후에도 산남도의 사례가 종종 보이는데, 이는 한반도 남부 지역을 통칭하는 말이었다. 1047년(문종 1)에 관원을 줄이는 과정에서 패서도(浿西道)와 산남도의 주목(州牧)은 일이 많고 관원이 적다는 이유로 그대로 두도록 하였다. 여기서 산남도는 남부 지방을 포괄하는 의미로 해석된다.
1056년(문종 10)에 무문사(撫問使)를 파견할 때 진주, 나주(羅州), 전주(全州), 청주(淸州), 광주(廣州), 공주(公州), 홍주(洪州: 지금의 홍성) 등 7개 도를 ‘산남(山南)’으로 통칭하였다. 충주(忠州), 경주(慶州), 상주(尙州) 등 3도는 ‘산동남(山東南)’으로 구분하였는데, 이들을 합친 것이 넓은 의미의 산남도이다.
1064년(문종 18)에는 외방 명산에 제사를 지내기 위하여 파견한 춘추외산제고사(春秋外山祭告使)를 양계(兩界)는 감창사(監倉使), 패서도(浿西道)는 안찰사(按察使)가 겸임하도록 하고 산남의 제고사는 따로 파견하도록 하였는데, 이 역시 개경 및 경기를 기준으로 남부 지역을 ‘산남’으로 통칭한 것이다.