До битката се стига след двуседмични маневри на противниците в пространството между Шумен, Провадия, Силистра и Русчук. В средата на май – десетина дни след като руснаците обсаждат Силистра – османският главнокомандващ Решид Мехмед паша решава да повтори опита си от боя при Ески Арнаутлар, като напада и обсажда с 40-хилядна армия малобройните руски части в района на Провадия. Същевременно русчукският комендант Хюсеин паша действа край Разград. Руският командващ Иван Дибич схваща това като възможност да нанесе решително поражение на турците. Без да прекратява обсадата на Силистра, с част от войската си той прогонва турците от Разградско и преминава за пет дни около 115 km., пресичайки пътя за отстъпление на Решид паша към шуменската крепост. Научавайки за приближаването на Дибич, османският пълководец отстъпва от Провадия, но се натъква на руснаците при село Кюлевча.[1][2]
Сражението започва с офанзива на 6-хилядния руски авангард. Източно от село Черковна отрядът е изненадан от двойно по-големи турски сили, прикрити в пресечена и гориста местност, и разгромен. Преследващите го турци завземат Черковна и Кюлевча, където са спрени от свеж противник. Макар да има числено превъзходство и инициативата дотогава Решид паша спира настъплението, разколебан от руския отпор. Това дава възможност на Дибич да организира контраудар. Макар в него да участва едва към ⅓ от руската пехота, той постига пълен успех благодарение на успешните действия на артилерията. Пряко попадение на руски снаряд взривява запасите на турската артилерия и предизвиква паническо бягство на армията на Решид паша. В руски ръце попадат всички оръдия и обозът на османците.[1][3]
По-голямата част от разбитата турска войска успява да достигне Шумен по обиколни пътища. Въпреки успеха при Кюлевча, Дибич не се решава да щурмува крепостта. Османците обаче се отказват от активни операции. Това и падането на Силистра на 18 юни позволяват на руснаците да предприемат още същото лято решителен поход на юг от Стара планина.[4]