На заході межував з Лохвицьким, на півдні з Миргородським, на сході з Зіньківським районами Полтавської області, на півночі з Липоводолинським районом Сумської області. Територія району становить 159,5 тис. га. Район перетинає річка Псел зі своїми правими притоками Хоролом i Грунню, а також Лютенька, Борозна та інші.