Расположен на правом берегу реки Хопёр (приток Дона) на высоте 50-70 м над уровнем реки, в 202 км от Воронежа.
Исторический центр города окружают с севера, через овраг — Крымская гора, с юга, через южный овраг — Казачья гора, а ещё через один лог — Селиванова гора.