Місто розташоване на лівому березі річки Тясмин (притоки Дніпра), крім того, на території міста є річки Гнилий Ташлик, Сріблянка.
Ресурси річкового стоку міста разом із стоком, який надходить з інших територій Смілянського району, в середній за водністю рік становлять 45,8 тис. куб. метрів, але особливості їх розподілу по території та в часі не відповідають вимогам водогосподарського балансу.