北海道は胴体部の北海道本島と半島部の渡島半島に分けられるが、渡島半島はさらに、その南部で東の亀田半島、西の松前半島に分かれる。南茅部町はこの亀田半島の北岸にあり、太平洋に面している。行政的には北西の鹿部村、南部の函館市、恵山町、椴法華村に接している。
南茅部町の北端は、中ノ川の北緯四二度二二分四八秒、南端は毛無山北東約一キロメートルの北緯四一度五〇分一三秒、東端は屏風岩の東経一四一度八分二七・六秒、西端は袴腰岳の西約一の東経一四〇度四八分一・二秒である。
南茅部町の境界線延長は約八〇キロメートル、面積は約一六〇平方キロメートルである。