С 1942 года — на фронтах Великой Отечественной войны. Участвовал в боях на Северо-Западном, 1-м и 2-м Прибалтийском, 1-м Белорусском фронтах. Принимал участие в боях под Демянском, освобождении Старой Руссы. С ноября 1943 года полковник Иван Васильков командовал артиллерией 79-го стрелкового корпуса 3-й ударной армии 2-го Прибалтийского фронта. В этой должности он принимал участие в Прибалтийской операции, освобождении города Себеж и Латвийской ССР. С конца декабря 1944 года корпус был передан в состав 1-го Белорусского фронта и передислоцирован под Варшаву. Васильков принимал участие в Висло-Одерской операции, артиллерия под его командованием способствовало успешному освобождению корпусом ряда польских городов. 6 марта 1945 года корпус вышел к Балтийскому морю в районе города Кашмин.