В передовом полку шли Всеволод Юрьевич, брат Андрея Боголюбского и Игорь Святославич, князь Новгорода-Северского. На подступах к Вышгороду молодые князья выстроили войско в боевой порядок, в центре встали дружины Всеволода и Игоря, на флангах расположились новгородцы и ростовцы. С крепостной башни Вышгорода Мстислав следил за маневрами противника. Князь не собирался отсиживаться за стенами, вывел дружину за городские укрепления и атаковал вражеские войска. С той и другой стороны в бой вступили конные лучники, «
Борьба продолжалась девять недель. Атаки на город шли каждый день, Мстислав регулярно выводил дружину на вылазки и бился с врагами у городских ворот. Потери среди защитников были велики, по свидетельству летописца «
Ярослав не просто так пришел к Вышгороду, он хотел договориться с Ольговичами о своем княжении в Киеве. Однако на златом столе планировал сесть Святослав Всеволодович, поэтому луцкий князь получил отказ. Ярослав разозлился, вступил в тайные переговоры с Ростиславичами и быстро решил с братьями вопрос о Киеве в свою пользу. После чего увел рать к Белгороду, где затаился Рюрик Ростиславич. Черные клобуки заметили разлад среди членов коалиции и заявили Святославу Всеволодовичу, что не будут помогать ему в борьбе за Киев. Конница черных клобуков покидала лагерь вечером, на виду у ратников и дружинников. Кто-то пустил слух, что они уходят к галицкому князю Ярославу Осмомыслу, который привел полки на помощь Ростиславичам. Для измотанных многодневными боями и длительной осадой людей этого оказалось достаточно, чтобы начались смута и разброд. Наступила ночь, но волнения в лагере не прекратились, никто не понимал, что происходит. Ратники и дружинники перестали слушать воевод, людей охватили неуверенность и страх. Когда в лагере стали кричать, что подходит вражеское войско, союзную рать охватила паника.
Тысячи воинов побежали к Днепру, стали грузиться в ладьи и выгребать на середину реки. За место на судах приходилось драться, вчерашние союзники бились насмерть друг с другом. Огромное войско разваливалось на глазах, кому не нашлось места на ладьях и насадах, разбегались по окрестностям. Мстислав заметил необычную суету в стане противника, вывел дружину за ворота и ударил по вражескому расположению. Победа была полной и безоговорочной.