本市は、九州の北部、福岡県南西部に位置し、九州の中心都市である福岡市から約40キロメートルの距離にあります。
また、県南部の中核都市で、九州自動車道と大分・長崎自動車道のクロスポイントにも近く、国道3号ほか5つの国道が通っていて、交通の要衝となっています。
地勢は、市の北東部から西部にかけて九州一の大河・筑後川が貫流し、筑後川に沿って南側を東西に耳納山、高良山、明星山などの山々が連なっています。全体的に東南の山麓・丘陵地から、西北から西部にかけて緩やかに傾斜し、筑後川によって形成された広大な沖積平野の平坦地に続いています。