Горад размешчаны на правым беразе ракі Церак, 15 км паўночней Уладзікаўказа, у 8 км ад мяжы з Інгушэціяй. Беслан — важны чыгуначны вузел, які размешчаны на галінцы Растоў-на-Доне — Баку і з'яўляецца пачатковым пунктам галінкі, вядучай да Уладзікаўказа.