В 1558 г. русские войска вторглись в Ливонию, захватили Нарву, Дерпт и одержали победу в битве при Тирзене. В 1560 г. были одержаны ещё две крупные победы: под Эрмесом и Вайссенштайном, а в 1561 г. – под Перновым. Однако вступление в войну Литвы, Польши и Швеции существенно изменили обстановку. Для того, чтобы вывести из войны Великое княжество Литовское в 1563 г., русские войска вторглись на его территорию. Поначалу поход был удачным, был захвачен важный город Полоцк. Но в 1564 г., в ходе битвы при Чашниках, литовское войско одержало верх. Литовская столица – Вильно так и не была взята, и русское воинство было вынуждено отступить.
После некоторого относительного затишья, в 1572 г. Иван Грозный начал новое наступление в Ливонию и постепенно достиг существенных успехов. К 1577 г. большая часть Ливонии оказалась в руках России. Ситуацию кардинально изменил поход польско-литовских войск под командованием короля Стефана Батория, который начался в 1579 г. Он нанёс поражение русской армии, вернул себе Полоцк и начал вторжение вглубь самой России. Этим воспользовались шведы, которые атаковали со стороны моря, высадили десант в Ревеле и Нарве, и начали вытеснять русские войска с Ливонии.
На пути Стефана Батория стоял хорошо укреплённый Псков. Польский король осаждал его в 1580 – 1581 гг., но мужественные псковичи сумели отстоять родной город и серьезно истощили армию захватчиков. В таких условиях Стефан Баторий решил прекратить наступление и начал переговоры с Россией. Аналогичным образом поступила Швеция.