После смерти Ивана III престол занял его сын Василий, однако это был далеко не очевидный выбор. Будущий великий князь прошел непростой путь, чтобы завоевать доверие отца и престол. Главным претендентом на трон поначалу был старший сын Ивана III от его первой жены Марии Борисовны, дочери тверского князя. Иван Молодой родился в 1458 году, когда мальчику не было и 10 лет, его мать скончалась. Ходили слухи, что ее якобы отравили, а все причастные к этому попали в опалу. Мария умерла 25 лет от роду, но ее муж на похороны не явился, а остался в Коломне.
Второй женой Ивана III стала византийская царевна Зоя (Софья) Палеолог, племянница последнего византийского императора Константина XI. Ее предложил в жены великому князю папа римский, который рассчитывал через нее воздействовать на Ивана III и убедить его в необходимости признать унию. В 1469 году великий князь, посовещавшись со своей матерью, боярами и митрополитом, решил дать согласие на этот брак. Переговоры о союзе продолжались три года и окончились приездом Софьи. В 1472 году князь обвенчался с заграничной царевной.
Отношения у новой жены со старшим сыном Ивана III складывались напряженные. Очень скоро при дворе образовались две группировки — те, кто поддерживал Ивана Ивановича Молодого, и те, кто выступал на стороне Софьи. При этом современники отмечали непостоянство настроений великого князя по отношению к сыну. Если в 1476 году Иван Молодой был у отца в немилости из-за распрей с мачехой, то через год он уже упоминается как соправитель Ивана III. Сын даже принимал участие в знаменитом «стоянии на Угре», что говорило об отношении к нему великого князя.
Но вскоре ситуация стала меняться. В 1479 году Софья родила Ивану III мальчика, которого назвали Василием. Затем у них появилось еще четыре сына и четыре дочери, число наследников росло. Обзавелся семьей и Иван Молодой. В начале 1483 года он женился на дочери господаря Молдавии Елене Волошанке. Осенью у них родился сын, которого нарекли Дмитрием. После присоединения Твери отец отдал Ивану Молодому эти земли в княжение, а в источниках Иван III с сыном упоминаются как «самодержцы».
Позиции Ивана Молодого в тот период были вполне прочными, чего нельзя сказать о Софье. Она не смогла добиться должностей для своих родственников, план папы римского с унией тоже провалился, а побег племянницы Софьи с мужем в Литву сказался на великой княжне не лучшим образом. Но в 1490 году старший сын великого князя неожиданно заболевает подагрой. Жена Ивана III выписывает из Венеции лекаря, который клянется исцелить наследника, но у него не выходит. В марте 1490 года Иван Молодой умирает. Великий князь казнит шарлатана-лекаря, а по Москве ползут слухи, что наследника отравили. Несмотря на то, что спустя сто лет эта версия стала основной, до сих пор нет никаких доказательств, свидетельствующих в ее пользу.
Наследником престола остается внук Ивана III Дмитрий. Теперь он ведет борьбу за внимание великого князя со старшим сыном Палеолог Василием. К 1497 году противостояние достигает своего пика. Великий князь хочет решить вопрос престолонаследия и собирается короновать Дмитрия. Сторонники Василия готовят заговор, который в декабре 1497 года был раскрыт. План предусматривал не только «отъезд» (переход на службу к другому сюзерену) Василия, но и убийство Дмитрия и захват великокняжеской казны. Вероятно, заговор провалился, так как не нашел поддержки среди высшего боярства и людей, близких к великому князю. После этого Софья попала в опалу, Василия посадили под домашний арест, а главных заговорщиков из числа боярских детей казнили. Кроме того, выяснилось, что Софья обращалась к различным ведуньям и ворожеям, над которыми разгневанный князь тоже учинил расправу. В феврале 1498 года наконец состоялась коронация Дмитрия Внука. На ней присутствовали все знатные бояре, митрополит и высшие иерархи церкви, не было на церемонии только Софьи и ее сына. Иван III благословил своего внука и пожаловал ему великое княжение. На Дмитрия возложили шапку Мономаха, и закатили в честь праздника богатый пир. Уже к концу года Дмитрия стали упоминать в официальных документах как великого князя.
Казалось бы, коронация состоялась, Дмитрий теперь «великий князь», но Василий не намерен сдаваться. Несмотря на официальный титул, Дмитрий не получил ни земель, ни реальной власти. К 1499 году обстановка внутри страны накаляется, Иван III приказывает казнить ряд своих бояр. При этом точно неизвестно, чем была вызвана их опала: то ли разногласиями по внешней политике, то ли непрекращающейся династической борьбой. Как бы то ни было, в то же время происходит усиление позиций Василия. Ему удается вернуть доверие отца, и Иван III жалует своему сыну Новгород и Псков. Псковичи, конечно, возмутились, но к осени конфликт удалось уладить.
С началом очередной русско-литовской войны Василий окончательно перетягивает одеяло на себя. В 1500 году происходит рост влияния сына Палеолог, несмотря на то, что были предположения о том, что Василия попытались захватить литовцы и даже что он сам собирался перейти на сторону неприятеля. Как бы то ни было, но к сентябрю Василий уже именуется не иначе, как великий князь «всея Руси». С этого момента позиции Василия усилились, а в 1502 году династическая борьба и вовсе завершилась. Дмитрий вместе с матерью Еленой попал в опалу, Иван III приказал больше не поминать их в церковных службах и посадить их под домашний арест. Через несколько дней Василий был пожалован великим княжением, а внук Ивана III с матерью отправились в заточение. Там они и умерли спустя какое-то время. Многолетняя вражда двух группировок завершилась победой князя Василия Ивановича, который стал соправителем отца, а после его смерти в 1505 году и наследником огромной державы.