Мать Василия, княгиня литовская София Витовтовна, договорилась с Юрием Звенигородским о временном перемирии и заключила в 1428 году с ним договор, по которому 54-летний Юрий признавал себя «молодшим братом» малолетнего племянника. При этом Софья воспользовалась влиянием своего отца князя Витовта, сопротивляться которому Юрий не мог.
Начало правления молодого князя ознаменовали эпидемия чумы и засуха. На протяжении всего правления он отбивал попытки дяди и его сыновей захватить московский престол. Так, в 1430 году, после смерти Витовта и фактического правителя митрополита Фотия, Юрий Дмитриевич поехал в Орду, чтобы его с Василием рассудили. Василий также выехал в Орду со своими боярами. Оба князя предстали перед ханами в 1432 году. Ярлык получил Василий Васильевич не в последнюю очередь благодаря льстивым речам Ивана Всеволожского. Последний рассчитывал, что князь женится на его дочери, но мать София Витовтовна решила, что брак с княгиней Марьей Ярославной будет намного выгоднее. Тогда Всеволожский обиделся на князя и уехал из Москвы, а вскоре перешёл на сторону князя Юрия.
Юрий не оставил попыток взойти на престол, и в 1433 году состоялось сражение на берегу Клязьмы, в котором дядя одержал победу над племянником. Юрий выслал Василия из Москвы, и тот стал князем коломенским. За Василием II последовали многие бояре и князья, которые поддерживали его политику «собирателя земель». Коломна стала центром объединенных сил. Карамзин писал: «Сей город сделался истиной столицей великого княжения и многолюдной и шумной».
Многие жители покинули Москву, отказавшись служить князю Юрию, и направились в Коломну, которая на некоторое время стала неофициальной столицей Северо-Восточной Руси почти со всем административно-хозяйственным и политическим штатом. Заручившись народной поддержкой, Василий включился в борьбу за власть. В 1434 году, после смерти князя Юрия, Василий снова сел в Москве.
В 1436 году против Василия II пошёл сын Юрия Звенигородского Василий Косой, но он был разбит, взят в плен и ослеплён. В 1445 году Василий под Суздалем потерпал поражение от войск казанских царевичей Махмуда и Якуба — сыновей хана Улу-Мухаммеда. Василий II и его двоюродный брат Михаил Верейский попали в плен. Их выкуп обошёлся московскому княжеству очень дорого — помимо крупной денежной суммы казанским царевичам отдали ряд российских городов. По условиям кабального договора, в Мещере создавалось Касимовское ханство, ханом которого стал сын Улу-Мухаммеда царевич Касим.
В 1446 году Василия II в Троице-Сергиевой лавре захватили люди ещё одного сына князя Юрия — Дмитрия Шемяки. Они пришли к князю и сказали: «Для чего любишь татар и даёшь им русские города на кормление? Для чего серебром и золотом христианским осыпаешь неверных? Для чего изнуряешь народ податями? Для чего ослепил брата нашего, Василия Косого?». От имени Дмитрия Шемяки, а также Иоанна Можайского и Бориса Тверского Василия ослепили, после чего он получил прозвище Тёмный. Его вместе с женой и детьми сослали в Углич, а Софью Витовтовну — в Чухлому.
Василий не хотел отступать и продолжил отстаивать свои права на великое княжение. В 1447 году он пришёл к игумену Ферапонтова монастыря и попросил благословения на поход против овладевшего Москвой Шемяки. Интересно, что во время своего короткого княжения Дмитрий Шемяка стал выпускать монеты с надписью «Господарь всея земли Русской». Он стал первым в истории Москвы великим князем, употребившим такой титул.
Несмотря на то, что большую часть своего правления Василий II провёл в междоусобных распрях, ему удалось собрать почти все мелкие уделы внутри Московского княжества и укрепить великокняжескую власть. В результате военных походов 1441—1460 годов он усилил зависимость Новгородской земли, Пскова, Вятской земли и Нижегородско-Суздальского княжества от Москвы. Кроме того, отвергнув принятие в 1439 году флорентийской унии, Василий II сделал большой шаг для сохранения русской культуры и укрепления государственности.
В 1448 году по его приказу митрополитом был избран русский епископ Иона, его посвятил не константинопольский патриарх, а собор русских архиереев. Это стало началом независимости русской церкви от Константинополя.
Василий болел туберкулёзом и лечил его привычным в то время способом — поджиганием трута на различных участках тела. Один из ожогов загноился, началась гангрена, и в марте 1462 года Василий II скончался.