На берег Угры были переведены и работные люди, которые приступили к сооружению укреплений. Решено было готовить к обороне и Москву. Из посадов и самого города вывезли женщин, стариков, детей. Посады предполагалось, в случае необходимости, зажечь.
Совершая манёвры с целью обхода главных сил Московского войска, хан Ахмат терял время. Наступил август, а орда ещё не достигла Угры. Это дало возможность построить многокилометровые оборонительные рубежи, не уступавшие тем, что пришлось оставить на линии Рязань – Калуга. В августе Иоанн III снова созвал на совет ближних князей и бояр. Теперь даже те, кто выступал против разрыва отношений с ордой, требовали, чтобы Великий Князь вёл их навстречу врагу. Но Великий Князь не торопился. Он избрал оборонительную тактику, хотя и не раскрывал свой замысел даже ближним князьям и боярам.
Неожиданно прибыли послы от братьев Великого Князя. Братья повинились и просили разрешения встать под знамёна Москвы. Ивану III это было лишним сигналом, что не сложился союз ордынского хана и польско-литовского короля. Иоанн велел передать братьям, чтобы те немедленно вели дружины на соединение с его войском и занимали оборонительные рубежи, которые будут указаны.
Наконец, в сентябре войско хана Ахмата вышло на берег Угры. Хан так и не дождался соединения с Казимиром, которому помешали крымчаки. Не решился король ни в бой с крымчаками вступать, ни обходить их, оставляя в тылу и открывая путь на польско-литовские земли.
Хан, не ведая причин опоздания Казимира, долго ещё надеялся на его прибытие и не спешил начинать форсирование Угры. Иоанн III тоже не хотел начинать сражения. Берёг людей. Он был уверен, что ордынцы уйдут с наступлением холодов. Не подготовлены они к боевым действиям в зимних условиях.
И вот пали на землю ночные заморозки. Хан Ахмат понял, что дальнейшее промедление смерти подобно и бросил войска на штурм укреплений Московского войска. Русские воины ответили артиллерийским и пищальным огнём, обрушили на атакующих стрелы ратников. Штурм продолжался несколько дней, но успеха ордынцам не принёс. Лишь огромный урон средь воинов хана был его результатом. Не добившись успеха, хан отвёл свои войска на две версты от берега Угры. Иоанн Васильевич, видя это, направил посольство с миром, которое объявило: «Не быть Москве под татарами! Пусть он едет в свою Орду с миром, а мы словно с ним и не воевали».
Однако, Ахмат не сразу принял решение. Орда жила разбоем, добычей. Продолжение атак было смерти подобно, но и уход восвояси не мог принести ничего доброго. Как удержать в повиновении голодное, пообносившееся и не получившее никакой добычи войско?! Ушли времена Чингисхана, Батыя, Мамая, когда повиновение в орде было непререкаемым. Теперь военачальники ордынские нередко затевали распри. Недаром же от орды откололись целых четыре ханства.
Русское посольство с дарами было хану приятно, несколько поднимало его в глазах подданных, но даров едва хватало ему одному. Тем не менее, переговоры не прекращались