- Đầu tháng 4 - 1288, đoàn thuyền do Ô Mã Nhi chỉ huy có kị binh bộ tống rút về theo đường thủy trên sông Bạch Đằng. Khi thuyền chiến của Ô Mã Nhi tiến gần đến trận địa bãi cọc, một số thuyền nhẹ của quân Trần ra khiêu chiến rồi giả vờ thua chạy, quân giặc ra sức đuổi theo, lọt vào trận địa mai phục, đúng lúc nước thủy triều xuống nhanh.
- Từ hai bên bờ, hàng nghìn chiếc thuyền nhỏ của quân Trần đổ ra đánh, phá vỡ đội hình giặc. Bị đánh bất ngờ và quyết liệt, quân giặc hoảng hốt, tranh nhau tháo chạy ra biển, thuyền giặc xô vào bãi cọc đang nhô lên, bị ùn tắc, vỡ đắm.
- Giữa lúc đó, hàng loạt bè lửa xuôi nhanh theo nước triều đang xuống, lao vào thuyền giặc. Những tên sống sót nhảy lên bờ liền bị tiêu diệt. Toàn bộ cánh thủy binh giặc bị tiêu diệt. Ô Mã Nhi bị bắt sống.