- tháng 12- 1287, quân Nguyên tấn công.
- Đầu năm 1288, Thoát Hoan xây dựng căn cứ ở Vạn Kiếp.
- Trần Khánh Dư cho quân mai phục ở Vân Đồn.
- khi đoàn thuyền lương của Trương Văn Hổ đến quân Tran đánh từ nhiều phía.
- Đầu tháng 4- 1288, đoàn thuyền do Ô Mã Nhi chỉ huy 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, 1 số thuyền nhẹ của quân Tràn ra khiêu chiến rồi giả vờ thua chạy, qua giặc ra sức đuổi theo, lọt vào trận địa mai phục, đúng lúc thủy triều xuống nhanh.
- Từ 2 bờ, quân Trần đổ ra đánh.
- Bị đánh bất ngờ và quyết liệt, quân giặc hoảng hốt, tháo chạy ra biển, thuyền xô vào bãi cọc đang nhô lên, bị ùn tắc, vỡ.