동쪽은 강진군, 서쪽은 진도군, 남동쪽은 완도군, 북쪽은 영암군에 접한다. 북부 강진군 강진읍에서 남쪽 해남군 송지면 송호리까지 약 90㎞에 이르며, 동서의 너비는 약 55㎞에 이른다.
행정상으로는 강진군 강진읍·도암면·신전면과 해남군 마산면·옥천면·북일면·북평면·현산면·화산면·송지면·삼산면, 그리고 반도의 중심부인 해남읍이 자리하고 있다.
북동-남서 방향의 산계(山系)가 반도의 주축을 이루며 만덕산(萬德山, 409m)·두륜산(頭輪山, 703m)·대둔산(大屯山, 672m)·달마산(達摩山, 481m) 등이 솟아 있다. 따라서, 구릉이 많고 평야가 적은 편이므로, 해안선을 따라 간석지를 간척하여 넓은 농경지를 이루고 있다.
해남읍은 전라남도 서남부의 농산물집산지이며, 부근에 납석(蠟石)이 산출된다. 북쪽에 은적사·정다산유적지(丁茶山遺蹟地)가 있고, 두륜산도립공원내에 대흥사가 있으며, 남단에는 송호리해수욕장이 있어 좋은 관광지를 이루고 있다.