本山町は、四国山脈の中央部に位置し、中央を徳島県に注ぐ四国三郎吉野川(総延長194km)が大きく蛇行しながら東流しています。その両岸にあるわずかな沖積地の他は、ほとんどが急峻で起伏に富んだ地形となっており、その谷間や氾濫原の標高250m~740mまでにわたって集落が点在しています。
吉野川より北部一帯はけわしい石鎚山地に属し、白髪山県立自然公園を有する森林地域となっていますが、その一方で南部は比較的なだらかな剣山地が東西に走り、棚田や畑等が形成されています。町の総面積の内91.1%は山林であり、典型的な農山村の町を形作っています。