Исток Томи находится на западных склонах Абаканского хребта, на болотистом склоне между северными отрогами хребта Карлыган и горой «Вершина Томи». Первые километры течёт по заболоченной долине в юго-западном направлении.
Длина реки — 827 км, ширина поймы до — 3 км, перепад высот от истока до устья — 1185 м, площадь водосбора — 62 тыс. км². Среднемноголетний расход воды и годовой сток соответственно: 1100 м³/c, 35,0 км³/год. Средняя скорость течения — 0,33 м/с, на перекатах — 1,75 м/с. Замерзает в конце октября — начале ноября, вскрывается в конце апреля. Средняя продолжительность ледостава — 158—160 дней, в среднем 175 дней в год свободна от льда. Дождевое питание реки составляет 25-40 %, снеговое — 35-55 % и грунтовое — 25-35 % годового стока.
Во время весеннего половодья загромождение русла реки льдинами может приводить к значительному повышению уровня воды. Наводнения в Томске наблюдались в 1888, 1892, 1895, 1899, 1907, 1910, 1913, 1914, 1915, 1920, 1923, 1930, 1939, 1941, 1946, 1947 годах. 17-22 апреля 1947 года зафиксировано повышение уровня воды до отметки 1103 см, что вызвало затопление Алтайской и Заливной улиц, площадей Ленина и Батенькова.