Bitwa zaczęła się około 7 rano. Atak Rosjan od początku wymierzony był w lewe skrzydło polskie. Delingshausen atakował początkowo jednym pułkiem, potem już dwoma, lecz ataki zostały odparte. Delingshausen wysłał więc pułk piechoty z 12 działami, lecz i ten atak został odparty. Kiedy generał rosyjski wysłał do ataku te dwa pułki piechoty, które stały w środku sił rosyjskich, Sierawski uderzył na działa rosyjskie, osobiście prowadząc jazdę kaliską. Ta jednak cofnęła się i Sierawski, otoczony niewielką grupą oficerów, zmuszony był do przebijania się z powrotem. Sytuację uratował Małachowski, prowadząc do boju odwody. Na pole bitwy przybył także Łagowski, nadchodzący z kierunku Chodla, przeciw któremu zmuszony był wystąpić Murawiew z dwoma pułkami jazdy.

Nie liczne czołowe uderzenia, ale dopiero manewr generała Tołstoja, polegający na obejściu lewego skrzydła wojsk polskich dwoma pułkami jazdy, spowodował wycofanie się 11 pułku piechoty polskiej ze świetnie dotychczas bronionego wzgórza. Sierawski nakazał zatem odwrót w pełnym porządku na Opole Lubelskie. Małachowski wykazał się jeszcze, osłaniając ten odwrót. Było około 16.