Згідно з літописом, він планував побити всіх своїх братів, і насамперед найбільш небезпечного для нього Ярослава, щоб одноосібно володіти Україною-Руссю.
Ярослав на той час княжив у Новгороді.
Восени того ж року на Київ рушило ярославське військо.
Святополк, почувши про похід Ярослава, зібрав ще численніше військо.
Обидва війська зійшлися біля міста Любеч.
Ярослав з новгородцями приплив на лодіях по Дніпру і став на правому березі напроти Любеча, а Святополк, який прийшов з-за Десни суходолом, став на лівому березі, за Дніпровим затоном-Озером і таким чином, були відділені від війська Святополка вузькою глибокою протокою.
За несторовим літописом, три місяці обидва війська стояли одне проти одного, не наважуючись перейти Дніпро та напасти на супротивника.
На той час князь Ярослав отримав від своїх вивідувачів у стані Святополка звістку про те, що настала слушна мить для нападу.
Почувши себе у повній безпеці, князь Святополк цілу ніч пиячив з дружиною та боярами.
Перед світанком князь Ярослав з новгородцями перепливли Дніпро, щоб позбавити себе можливості до відступу, і вдарили на безпечне святополкове військо.
Щоб розрізняти своїх та чужих у темряві, новгородці пов’язали собі голови білими хустками.
Незважаючи на раптовий напад, битва була дуже кривавою.
Печеніги не змогли прийти на допомогу киянам.
Залишки Святополкового війська ледве врятувалися втечею, а сам Святополк втік аж до Польщі.
Внаслідок перемоги в Любецькій битві восени 1016 р. князь Ярослав Володимирович зайняв Київ і сів на великокняжий київський стіл.
Згодом народ прозвав його Ярославлм Мудрим.
1959 р. під час розкопок Любецького замку було здійснено спробу разом дослідити і місце Любецької битви.
Але нічого знайдено не було.
Справа в тому, що у давні часи на місці битви через деякий час не залишилося нічого цінного, особливо зброї.
Все підбирали місцеві жителі.
Т і ж сліди, що залишилися після Любецької битви, швидко знищили щорічні дніпровські повені.