市域は岡山県の南中央部に位置し、市西部を高梁川が北から南に流れ瀬戸内海にそそいでいる。平野の多くは干拓地や沖積平野で占められ、児島地域を除き比較的平坦である。市内には児島、亀島山、玉島、連島など「島」の付く地名が多く、それらの地域が陸続きになって今の市域が形成されている(「島」の付く地名は、かつて付近一帯が干拓される以前には島だった名残である)。