宇土市は、熊本県のほぼ中央部、熊本平野の南縁で有明海と八代海(不知火海)を二分する宇土半島の基部に位置し、半島のほぼ北半分を占めています。
市域は東西20.4キロメートル、南北7.9キロメートルと東西方向に細長く、総面積は74.30平方キロメートルです。北に熊本市、東に旧城南町(平成22年3月に熊本市と合併)、南に宇城市とそれぞれ隣接しています。
九州を南北に縦貫する国道3号線及び、ほぼそれに沿って走るJR鹿児島本線、宇土半島を東西にのびる国道57号線及びJR三角線の分岐点にあたり、県内における交通の要衝となっています。
中心市街地はJR宇土駅の西南側一帯に広がっており、熊本市中心部から車で南へ約20分、九州自動車道松橋インターから北西へ約10分の距離です。