В 1471 году московский князь двинулся походом на Новгород. Поводом стали слухи о том, что бояре заключили договор с Литвой и теперь будут платить ей дань. На реке Шелони состоялась битва, в которой новгородские ополченцы потерпели поражение. В плен было захвачено много людей, в том числе и несколько бояр. Рядовых новгородцев отпустили, а вот бояре были казнены. Эту войну назвали походом за православную веру. В результате новгородцы отказали польско-литовскому королю Казимиру IV в союзе и еще оплатили Москве военные издержки. Новгородцы заключили с Иваном III Коростынский договор. Согласно его условиям Новгород переставал проводить самостоятельную внешнюю политику, а внутренние порядки оставались прежними.
Новгород признал себя подвластной Москве землей, но распри в городе не прекратились. Бояре по-прежнему боролись за свои права и владения. На вече были убиты сторонники союза с Москвой, а послы Новгорода перестали считать Ивана III своим князем.
Москва двинулась на Новгород новым походом. 15 января 1478 года Новгород сдался, а бояре окончательно признали Ивана III своим государем.