Сражение произошло в 1099 годк на реке Вягре (соврем. Вигор), впадающей в реку Сан у Перемышля. Венгерское королевское войско, численно превосходившее противника, построилось для битвы в узкой горной долине. Боняк, стан которого находился на правом берегу реки, перед сражением переправился на левый берег и, готовясь к схватке, разделил свое небольшое войско на три полка (один русский и два половецких). Легенда гласит, что ночью Боняк отъехал от своего лагеря и начал выть по-волчьи. На вой откликнулось множество волков, завывших в свою очередь. Тогда Боняк вернулся в лагерь и сообщил Давыду, что завтра они одержат победу.
Дружина Давыда из ста человек оставалась стоять на поле боя, в то время как полсотни половецких всадников под предводительством хана Алтунопы были посланы Боняком вперед, чтобы затем ложным отступлением заманить венгров в ловушку. Обстреляв венгров, половцы Алтунопы повернули назад, увлекая противника за собой, к тому месту, где находились основные силы Давыда и половцев. Когда венгры, «мьняху Боняка бежаща», подошли к месту засады, Боняк неожиданно ударил им в тыл и обратил застигнутого врасплох противника в бегство. Затем воины Алтунопы и Боняка «и сбиша угры, акы в мячь, яко се соколъ сбиваеть галице». Часть венгров окружили на краю скалистого обрыва, где они, окруженные, не могли биться из-за тесноты и были сброшены в пропасть. Ещё больше венгров погибло при преследовании, много их утонуло и в Вягре, и в Сане. В числе павших оказался и Купан (Куман) – один из двух сопровождавших короля епископов. Благодаря этой победе Ростиславичи смогли удержаться в Галичской земле, а венгры не смогли захватить западные области Руси[57].
Младший сын Володаря Ростиславича, Владимирко, стал княжить в Звенигороде. При помощи тестя – венгерского короля Коломана I, он боролся против своего брата Ростислава Перемышльского, но только после кончины того, в 1128 году, стал править этим городом. Затем Владимирко присоединил к собственным владениям Теребовль и Галич, избрав последний своей столицей. В 1121 году венгерский король Иштван II вмешался в междоусобицу русских князей, поддержав Ярослава Святополчича в его войне с Владимиром Мономахом. Однако в 1123 году князь Ярослав Святополчич погиб при осаде Владимира Волынского. Иштван II попытался довести осаду до конца и взять крепость, но его войско взбунтовалось и потребовало возвращения в Венгрию, пригрозив в случае отказа низложить короля.
Правившему в середине XII века в Галиче внуку Володаря Перемышльского, Ярославу Осмомыслу, удавалось сдерживать венгерскую агрессию. Но после его смерти произошел «великий заговор в Галицкой земле» – бояре не приняли внебрачного любимого сына Ярослава, Олега Настасьича, получившего престол помимо законного сына Владимира, унаследовавшего от умершего отца Перемышль. Приглашенный боярами, он вступил в Галич, а Олегу пришлось бежать в Овруч, а затем в Краков. Князь-принцепс Польши Казимир II принял решение помочь Настасьичу. Польские войска разгромили дружины Владимира Ярославича и его союзника, белзского князя Всеволода Мстиславича. С поляками в Галич возвращается Олег Настасьич, а Владимир бежит к венграм. Однако его соперник вскоре был отравлен боярами (князем стал Роман Мстиславич волынский), и тогда-то границу переходят венгерские войска, занявшие территорию русского княжества. Добившись успеха, венгерский король Белы III, сын русской княжны Ефросиньи Мстиславны, вспомнил о своих правах на Русскую землю и, пленив Владимира, объявил правителем Галича своего сына Андраша. Пленному русскому князю удалось бежать. Он обратился за помощью к императору Священной Римской империи Фридриху I Барбароссе и Казимиру II, которые согласились вернуть Владимира на престол при условии ежегодной выплаты им 2000 гривен. В 1189 году венграм пришлось очистить Галицкую землю, Владимир Ярославич стал править здесь[58]. Только после его смерти этот удел отошел Роману Мстиславичу.
Вновь венгры заняли Галич в период междоусобиц, вспыхнувших после гибели Романа в битве с поляками при Завихосте в 1205 году. Его вдова, оставшаяся с малолетними сыновьями Данилой и Васильком, конфликтуя с боярами, согласилась ввести в город венгерский гарнизон. Вскоре и венграм, и княгине с княжичами пришлось покинуть Галич, править в котором стали Владимир и Роман Игоревичи. Не поладившие с боярами, они в 1211 году были казнены. В 1214 году венгерский король Андраш II оккупировал Галицкую землю. Как когда-то его отец, он посадил в Галиче своего сына Коломана. Торопецкий, а затем новгородский, князь Мстислав Мстиславич Удалой, прогнав венгров из Галича, сам сел в нем княжить (1218). Однако война с ними на этом не закончилась. В 1220–1221 годах Мстиславу пришлось снова силой добывать Галич у венгров и поляков с помощью Данилы Романовича. Заключив с Андрашем II мир, он выдал свою дочь Марию замуж за его сына Андраша Венгерского (королевича Андрея Андреевича), пожаловав ему Перемышль, а затем и Галич. Бояре поддерживали Андраша, остальной галицкий люд – правившего во Владимире-Волынском Данилу Романовича. В 1229 году Данила был призван ими на княжение, осадил и взял Галич. Королевич Андрея попал в плен, но вскоре был отпущен к отцу. Попытка нанести ответный удар провалилась из-за вспыхнувшей в венгерском войске эпидемии. Только в 1231 году, воспользовавшись размирьем между Данилой с Александром Белзским, Андраш, при содействии и бояр, сумел овладеть Галичем, но вскоре умер, и Данила вернул город под свою руку. Волынское княжение в 1238 году он передал брату Васильку. Однако войны с венграми продолжались, пока 17 августа 1245 году в битве под городом Ярославом (на реке Сан в Галицкой земле) русские войска во главе с Даниилом Романовичем разгромили венгерские и польские полки, а также дружины его племянника Ростислава Михайловича (женатого на венгерской королевишне Анне) и отряды мятежных галицких бояр.