Расширению московских владений на счет Литвы способствовали внутренние смуты, происходившие в великом княжестве Литовском. Уже в первые десятилетия правления Иоанна многие служилые князья литовские перешли к нему, сохраняя свои вотчины; наиболее видными из них были князья Ив. Мих. Воротынский и Ив. Вас. Бельский. По смерти Казимира, когда Польша избрала королем Яна-Альбрехта, а литовский стол занял Александр, Иоанн начал открытую войну с последним. Сделанная литовским великим князем попытка прекратить борьбу путем родственного союза с московской династией не привела к ожидавшемуся от нее результату: Иоанн не ранее согласился на брак своей дочери Елены с Александром, как заключив мир, по которому Александр признал за ним титул государя всея Руси и все приобретенные Москвой во время войны земли. Позже самый родственный союз сделался для Иоанна только лишним предлогом для вмешательства во внутренние дела Литвы и требования прекратить притеснение православных. Сам Иоанн устами отправленных в Крым послов так объяснял свою политику по отношению к Литве: «Великому князю нашему с литовским прочного миру нет; литовский хочет у великого князя тех городов и земель, какие у него взяты, а князь великий хочет у него своей отчины, всей земли Русской». Эти обоюдные притязания уже в 1499 г. вызвали новую войну между Александром и Иоанном, удачную для последнего; между прочим, 14 июля 1500 г. русские войска одержали над литовцами большую победу у р. Ведроши, причем взят был в плен гетман литовский князь Константин Острожский. Заключенный в 1503 г. мир закрепил за Москвой ее новые приобретения, в том числе Чернигов, Стародуб, Новгород-Северск, Путивль, Рыльск и 14 других городов.
При Иоанне московская Русь, усиленная и сплоченная, окончательно сбросила с себя татарское ярмо. Хан Золотой Орды Ахмат еще в 1472 г. предпринял, по внушениям польского короля Казимира, поход на Москву, но взял только Алексин и не мог перейти Оки, за которой собралось сильное войско Иоанна. В 1476 г. Иоанн, как говорят — вследствие увещаний второй своей жены, великой княгини Софьи, отказался платить далее Ахмату дань, и в 1480 г. последний вновь напал на Русь, но у р. Угры был остановлен войском великого князя. Сам Иоанн, однако, и теперь еще долго колебался, и лишь настойчивые требования духовенства, особенно войску и затем прервать начатые уже было переговоры с Ахматом. Всю осень русское и татарское войска простояли одно против другого на разных сторонах р. Угры; наконец, когда стала уже зима и сильные морозы начали беспокоить плохо одетых татар Ахмата, он, не дождавшись помощи от Казимира, отступил, 11 ноября; в следующем году он был убит ногайским князем Иваном, и власть Золотой Орды над Русью рухнула окончательно. Вслед за тем Иоанн предпринял наступательные действия по отношению к другому татарскому царству — Казани. В первые годы княжения Иоанна враждебные отношения его к Казани выражались в ряде набегов, производившихся с обеих сторон, но не приводивших ни к чему решительному и по временам прерывавшихся мирными договорами. Смуты, начавшиеся в Казани, по смерти хана Ибрагима, между его сыновьями Али-ханом и Мухаммед-Аминем, дали Иоанну случай подчинить Казань своему влиянию. В 1487 г. изгнанный братом Мухаммед-Аминь явился к Иоанну, прося помощи, и вслед за тем войско великого князя осадило Казань и принудило Али-хана к сдаче; на его место был посажен Мухаммед-Аминь, фактически ставший в вассальные отношения к Иоанну. В 1496 г. Мухаммед-Аминь был свергнут казанцами, призвавшими ногайского князя Мамука; не ужившись с ним, казанцы опять обратились за царем к Иоанну, прося только не присылать к ним Мухаммед-Аминя, и Иоанн послал к ним незадолго перед тем пришедшего к нему на службу крымского царевича Абдыл-Летифа. Последний, однако, уже в 1502 г. был низложен Иоанном и заточен на Белоозеро за непослушание, а Казань получил опять Мухаммед-Аминь, который в 1505 г. отложился от Москвы и начал войну с ней нападением на Нижний Новгород. Смерть не позволила Иоанну восстановить утраченную власть над Казанью. С двумя другими мусульманскими державами — Крымом и Турцией — Иоанн поддерживал мирные отношения. Крымский хан Менгли-Гирей, сам угрожаемый Золотой Ордою, был верным союзником Иоанна как против нее, так и против Литвы; с Турцией не только производилась выгодная для русских торговля на Кафинском рынке, но с 1492 г. были завязаны и дипломатические сношения при посредстве Менгли-Гирея.