Начальное хореографическое образование получил в Днепропетровской государственной хореографической школе (Украина). В 2002–2006 годах учился в Белорусском государственном хореографическом колледже (педагог — А. Коляденко). Во время учёбы стажировался в Национальном академическом Большом театре оперы и балета Республики Беларусь, где исполнял партию Базиля в балете «Дон Кихот» и партию Али в балете «Корсар». По окончании колледжа был принят в балетную труппу Большого театра Беларуси, но уже в конце 2006 года перешёл в труппу Большого театра России и в 2010 году стал премьером труппы.
Является приглашённым солистом «Ла Скала» и Баварского балета, выступает с труппами Большого театра, Мариинского театра, Михайловского театра, Новосибирского театра оперы и балета, балетной труппой Римской оперы. В 2012–2013 годах — премьер Американского театра балета (АБТ).
В 2014 году участвовал в картине «Первый бал Наташи Ростовой» на церемонии открытия Олимпиады в Сочи. В 2015 году дебютировал как хореограф — на сцене Концертного зала «Барвиха Luxury Village» прошла премьера «Балета № 1» в его постановке. В Михайловском театре Иван Васильев поставил одноактные балеты «Морфий», «Слепая связь», «Болеро», «Любовь есть везде» и полномасштабный балет «Рождественская история».