熊本県の北東に位置し、北に南小国町・産山村・大分県日田市、南に阿蘇山を挟んで南阿蘇村・高森町、西に菊池市・大津町、東に大分県竹田市が隣接しています。阿蘇市の規模は、東西約30km、南北約17km、面積は約376平方kmです。
地形は、阿蘇五岳を中心とする世界最大級のカルデラや広大な草原を有し、比較的平坦地の多い阿蘇谷と、起伏に富み傾斜地の多い阿蘇外輪地域で形成されています。また、この地域は阿蘇くじゅう国立公園に指定されており、ハナシノブやスズランなど阿蘇特有の希少な植物が自生するなど、自然資源が大変豊富です。