Đêm đó, Lục Tốn lệnh cho tướng sĩ, mỗi người mang 1 bó lau tẩm dầu
và dụng cụ đánh lửa, mai phục sẵn trong rừng phía nam. Đợi tới canh 3, thì
nhất loạt áp sát các trại quân Thục và phóng hỏa đốt trại. Canh 3, bốn đại
tướng Đông Ngô dẫn mấy vạn quân, xông tới trại quân Thục, nhất tề phóng
lửa. Vì trại Thục liền sát nhau, trị này bốc lửa liền lan sang trại khác, lại vì
đêm đó gió nổi rất to, nên trong chốc lát, hơn 40 đại doanh của Lưu Bị đã
trở thành biển lửa. Tới khi Lưu Bị phát hiện thì đã không còn cách gì cứu
vãn, chỉ vội nhảy lên ngựa do các tướng sĩ hộ tống, xông ra khỏi đám lửa,
chạy lên núi Mã Yên.
Lục Tốn ra lệnh các cánh quân Đông Ngô vây chặt núi Mã Yên và
xông lên tiến công mãnh liệt. Hơn 1 vạn quân Thục trên núi Mã Yên tan
vỡ, chết và bị thương nhiều không kể xiết. Chiến đấu suốt 1 ngày, tới chập
tối, Lưu Bị dẫn tàn binh bại tướng phá vây chạy về phía tây. Quân Đông
Ngô đuổi riết phía sau. May nhờ các kho trạm dọc đường của quân Thục,
đem hết xe cộ khôi giáp ra lấp các đường hẻm, cản đường truy kích của
Đông Ngô, nên Lưu Bị mới chạy thoát về thành Bạch Đế (nay là núi Bạch
Đế, huyện Phụng Tiết, Tứ Xuyên). Trận đại chiến này, quân Thục hầu như
bị tiêu diệt hết toàn quân. Toàn bộ thuyền bè, vũ khí, vật tư quân dụng đều
bị quân Đông Ngô chiếm hết. Lịch sử gọi trận đánh này là "Hào Đình chi
chiến".
Lưu Bị thua trận, vừa buồn vừa uất nói: "Ta bị Lục Tốn đánh thua,
chẳng phải là ý trời sao?"
Một năm sau, Lưu Bị ốm chết ở Vĩnh An (nay là Phụng Tiết, Tứ
Xuyên).