Немало забот и волнений доставлял Иоанну и вопрос о престолонаследии. Как мы знаем, от его первого брака у него был сын Иван Молодой, который с детства был назначен его преемником, с наименованием великим князем, причем грамоты обыкновенно писались от обоих великих князей и государей всея Руси.
В 1482 году Иоанн женил сына на Елене, дочери славного Стефана, господаря Молдавского княжества, возникшего в древней отчине князя Даниила Романовича Галицкого, в низовьях Прута и Днестра, из остатков римских поселенцев и нескольких других народностей, приведенных в движение нашествием татар. В XV веке Стефан Молдавский доблестно противоборствовал завоевательным стремлениям турок, «творя», по выражению Карамзина, «с малыми силами великое». При этом он опасался также поляков и крымских татар и потому искал дружбы Иоанна, зная, что его боится Казимир и что с ним дружит Менгли-Гирей.
От брака Ивана Молодого и Елены родился сын Димитрий, а от брака Иоанна III с Софией Фоминичной родился в 1472 году сын Василий.
В 1490 году Иван Молодой, будучи 32 лет от роду, разболелся ломотой в ногах и вскоре умер.
После смерти сына перед государем естественно явился вопрос: кто должен наследовать великое княжение: сын Василий или внук Димитрий? По старому обычаю, конечно, должен был наследовать Василий по отчине и по дедине; но по новым московским порядкам больше прав имел на наследство Димитрий, как сын старшего сына, еще при жизни отца названного великим князем и соправителем. С другой стороны, однако, и Василий имел огромное преимущество: он родился от греческой царевны, принесшей с собою в Москву как бы царское наследие Византийской империи.
Мнения по этому поводу разделились. Старые бояре, которым были не по душе все новшества, привезенные Софиею, а главное, мысли, внушаемые ею мужу и сыну о высоком значении московского государя перед прочими князьями и боярами, были за Димитрия; наоборот, люди менее родовитые и знатные, дети боярские и дьяки, были за Софию и Василия, так как знали, что они ставят личную усердную службу своему государю выше древней породы и знатности. Среди последних в 1491 году составился заговор в пользу Василия, причем они решили тайно погубить Димитрия, но заговор этот открылся, возбудив, конечно, сильное негодование Иоанна, который казнил нескольких виновных и при этом рассердился на жену свою и сына: 19-летнего Василия он заключил под стражу, а Софии стал остерегаться. Его же сноха Елена и бояре торжествовали.
Чтобы закрепить в глазах народа права малолетнего Димитрия на престол, Иоанн решил торжественно венчать его на великое княжение, что не делалось со времен Владимира Мономаха. 4 февраля 1492 года в Успенском соборе пред аналоем, на котором лежали Мономахова шапка и бармы, были поставлены три седалища: для великого князя, внука его и митрополита. После молебна Богородице и святому Петру Чудотворцу Иоанн обратился к владыке с просьбою благословить внука на великое княжение, указывая на пример прародителей, завещавших свои столы старшим сыновьям: «Отцы наши, великие князья, сыновьям своим старшим давали великое княжение; и я было сына своего первого Ивана при себе благословил великим княжением; но Божиею волею сын мой Иван умер, а у него остался сын первый Димитрий, и я его теперь благословляю при себе, а после себя великим княжением Владимирским, Московским и Новгородским, и ты бы его, отец, на великое княжение благословил».
К. Лебедев. Боярин
Митрополит благословил Димитрия, затем старый великий князь венчал его шапкой и бармами Мономаха, а по окончании молитвы и многолетия митрополит сказал Иоанну: «Божиею милостию радуйся и здравствуй преславный царь Иван, великий князь всея Руси, самодержец, и с внуком своим великим князем Димитрием Ивановичем всея Руси на многая лета». Затем он обратился с поучением к юному Димитрию, которое повторил и Иоанн, сказав ему: «Внук, князь Димитрий! Пожаловал я и благословил тебя великим княжением; и ты имей страх в сердце, люби правду и суд праведный и попечение от всего сердца о всем православном христианстве!» После этого Димитрий вышел из церкви в шапке и бармах; его трижды осыпал в дверях золотыми и серебряными деньгами один из младших сыновей Ивана; то же повторили и перед Архангельским и Благовещенским соборами.
Однако торжество Елены и Димитрия и унижение Софии и Василия продолжалось недолго. В 1499 году открылась важная крамола среди бояр, поддерживавших Елену; знатнейших из них после расследования дела, князей Патрикеевых и Ряполовского, приговорили к смертной казни, причем князю Семену Ряполовскому отрубили голову на Москве-реке; князей же Патрикеевых Иоанн, снисходя на просьбы духовенства, помиловал: отец и старший сын постриглись в монахи. В чем состояла крамола бояр, неизвестно, но несомненно одно, что эта крамола была важная; притом она находилась в связи с действиями Елены против Софии, и бояре были наказаны за высокоумничанье, то есть за самовольные действия против распоряжений великого князя. Вслед за опалой Ряполовского и Патрикеевых последовала и опала Елены, которая была, как выяснено, ярой последовательницей ереси жидовствующих, о чем мы скажем подробнее несколько ниже.
После этого Иоанн стал мало-помалу возвращать свои добрые чувства Василию и не радеть о Димитрии. После тяжелой душевной борьбы и тщательно обдумав, что более послужит ко благу государства, Иоанн решил окончательно назначить своим преемником Василия, а для предупреждения смуты пожертвовать внуком; он наложил на него и его мать опалу и приказал заключить под стражу, не велев впредь поминать их на ектеньях.