Город расположен на правом берегу Енисея, в 12 км к юго-западу от Красноярска (17 км по автодороге Р-257 «Енисей»), в 2,5 км от устья Маны в отрогах Восточного Саяна.
Муниципальные пригородные маршруты (№ 101, 102, 104) обслуживаются ООО «Дивногорская транспортная компания», междугородние маршруты № 106, 109, 146 обслуживаются ООО «Дивтранс».
Пригородный маршрут № 108 является т. н. «школьным» маршрутом, однако им пользуются также жители посёлка Верхняя Бирюса, так как это один из немногих способов добраться из посёлка до города.
Место посадки на междугородние и пригородные автобусы находится на площади Строителей, однако большинство междугородних автобусов в случае отсутствия пассажиров, едущих из Дивногорска в указанные населённые пункты, или пассажиров, высаживающихся в Дивногорске, на площадь Строителей не заходят, а в случае необходимости делают остановку возле железнодорожного вокзала.
По будням: пять электропоездов до станции Красноярск-Пассажирский; один электропоезд до станции Зеледеево; один электропоезд до станции Красноярск-Северный; один электропоезд до станции Минино
По выходным: шесть электропоездов до станции Красноярск-Пассажирский.
Время в пути до станции Красноярск-Пассажирский — 1 час, до станции Бугач — 1 час 22 минуты, до станции Красноярск-Северный — 1 час 52 минуты, до станции Минино — 1 час 38 минут.
Стоимость проезда — 40 рублей (в границах проекта «Городская электричка»)