Дубна берёт начало во Владимирской области, между селениями Корелы и Зазевитово, близ города
Александрова, на склонах
Клинско-Дмитровской гряды. Течёт поначалу преимущественно на запад. В Московской области около деревни Филисово поворачивает на север, а после слияния с Сулатью — на юго-запад. В 6 км выше
Вербилок меняет общее направление на северо-западное. В среднем течении встречаются длинные спрямленные участки. Берега преимущественно низменные, болотистые. Судоходна на 15 км от села Бережок до устья. На Дубне —
одноимённый город, а также посёлок
Вербилки. Река впадает в Волгу восточнее города
Дубна, в 8 км ниже Иваньковской плотины.