Город расположен в 125 км к юго-востоку от Москвы (по автодороге М5 — 126 км от МКАД и 132 по М4), в небольшой котловине на левом берегу Оки в районе Окско-Московской равнины, вытянут вдоль Оки на 7 км и окружён естественными хвойными и смешанными лесами.
Город и его окрестности изобилуют мелкими озёрами (крупнейшее — озеро Песочное; также есть довольно крупные Нижнее озеро (в старину упоминается как Марьино) на юге), речками и прудами.
Город находится в стороне от федеральных автотрасс, на областной дороге, между городами Коломна и Ступино.
В город ведёт тупиковая неэлектрифицированная железнодорожная ветка длиной 39 км, которая начинается от линии Москва — Рязань со станции Голутвин) в Коломне, а её конечная станция — Озёры.
Действует сообщение дизель-поездами серии РА3 между станциями Голутвин и Озёры (4-5 пар в сутки).
С Москвой связан также автобусными маршрутами № 331 (метро «Котельники» — Озёры) и № 334о (метро «Домодедовская» — Озёры).
Действуют автобусные маршруты, связывающие Озёры с соседними городами: Коломна (маршруты № 22 и 29), Кашира (№ 36), Зарайск (№ 43), Ступино (№ 58).
В городе действуют три автобусных маршрута (№ 2, 3, 4), охватывающие весь город.
В период весенней распутицы, когда не работает понтонный мост, и маршруты автобусов из Каширы (№ 36), Зарайска (№ 43), Редькино (№ 37), Сосновки (№ 49) и Фроловского (№ 53) укорачиваются до Клишино, назначается маршрут Озёры (автостанция) — Мост, откуда пассажиров переправляют катером в Клишино.