Chiến tranh Đại Ngu–Đại Minh

Nhà Minh

Để chuẩn bị lực lượng đánh Đại Ngu, Minh Thành Tổ cho điều động lực lượng từ Nam Kinh, theo đường thủy xuống hội binh với các lực lượng đang tập trung tại Quảng Tây, gồm 95 000 quân từ các tỉnh Chiết Giang, Giang Tây, Quảng Đông, Quảng Tây, Hồ Quảng, cộng với 10 000 kỵ binh và bộ binh từ các đơn vị cấm binh, 30 000 thổ binh từ Quảng Tây. Nhà Minh cũng huy động chuẩn bị tác chiến 75 000 quân kỵ binh và bộ binh từ Vân Nam, Quý Châu, Tứ Xuyên. Các xứ Vân Nam và Quảng Tây được lệnh mỗi xứ phải chuẩn bị 20 vạn thạch lương (một thạch khoảng 60 kg) cung ứng cho quân. Vân Nam cũng được lệnh huy động 10000 quân tiếp viện. Có khoảng một phần mười binh lính Minh được trang bị hỏa khí. Nhà Minh phao tin quân viễn chinh được điều động lên đến 80 vạn quân, nhưng theo Whitmore, có lẽ quân Minh thực tế khoảng 215.000 quân.
Quân Minh khi sang đến Đại Ngu cũng đóng thuyền chiến để chuẩn bị đánh đường thủy. Với danh nghĩa "phù Trần diệt Hồ", Quân Minh cũng được hỗ trợ bởi một số lực lượng người Việt giúp đỡ, như Đèo Cát Hãn, thổ ty châu Ninh Viễn (nay là Lai Châu) xin dẫn 4.000 bộ thuộc theo đánh giúp. Nhà Minh còn mang vàng bạc, lụa gấm vào Champa dụ Champa giúp sức, và hạ lệnh đưa 600 quân tinh nhuệ từ Quảng Đông vượt biển vào Champa để chặn đường vua tôi nhà Hồ bỏ chạy.
Nhà Minh phao tin đạo quân viễn chinh đông tới 80 vạn người, nhưng có lẽ đây chỉ là con số phóng đại để khuếch trương thanh thế, vì theo số liệu năm 1392, tổng binh lực nhà Minh gồm 16 489 chỉ huy, 1 198 434 binh sĩ và 45 080 ngựa, khó có thể huy động đến  lực lượng chỉ để dồn vào chiến trường An Nam, trong khi vẫn phải lo đến vấn đề nội loạn và phòng giữ phía Bắc.

Trận đánh ở bãi Thiên Mạc và bãi Mộc Hoàn

Ngày 2 tháng 12 âm lịch, người Minh chiếm được Việt Trì, bờ sông Mộc Hoàn (nay là xã Cổ Đô, huyện Ba Vì, Hà Nội) và chỗ đóng cọc ở sông Bạch Hạc (cửa sông Lô đổ vào sông Hồng). Tướng chỉ huy quân Tả Thánh Dực là Hồ Xạ không giữ nổi, phải dời hàng trận sang phía nam sông Cái. Đêm mồng 7 tháng 12 âm lịch, quân Minh cho khiêng thuyền ra bờ phía bắc bãi sông Thiên Mạc bị tướng nhà Hồ là Trần Đĩnh đánh bại. Tướng nhà Minh trừng phạt những người đã thoái lui để thua trận, binh lính quân Minh từ đó liều chết cố đánh, liều mạng lập công.
Sau thất bại ở Thiên Mạc, quân Minh chấn chỉnh lại đội ngũ, đánh được hai mặt sông Thao và sông Tuyên, đóng quân ở bờ bắc sông Thao, đối diện với thành Đa Bang. Đêm mồng 9 tháng 12 âm lịch, quân Minh đánh úp quân Hồ ở bãi Mộc Hoàn. Tướng Đại Ngu là Nguyễn Công Khôi mải nữ sắc không phòng bị, thuyền bị đốt gần hết, lặng im không nghe tiếng động của chiến trận. Các cánh thủy quân bên trên và bên dưới của nhà Hồ đều không đến cứu ứng, chỉ đứng từ xa xin Tả Tướng quốc Hồ Nguyên Trừng xem ai có thể thay giữ chỗ đó. Quân Minh liền vượt sông làm cầu phao để sang.

Trận Mộc Phàm

Đến tháng 2 năm 1407, Tả Tướng quốc Hồ Nguyên Trừng tiến quân đến sông Lô. Ngày 20 tháng 2 âm lịch năm 1407 hai bên đụng độ nhau ở 2 bờ sông. Theo Minh sử, quân Hồ có 500 chiến thuyền, còn quân Minh đánh theo cả hai đường thủy bộ. Kết quả quân Đại Ngu bị thua, mất 100 thuyền chiến và 10.000 binh lính, phải lui về Muộn Hải.
Theo Việt Nam sử lược: Qua tháng 3 năm Đinh Hợi (1407) Mộc Thạnh biết rằng con trưởng Hồ Quý Ly là Hồ Nguyên Trừng đóng ở Hoàng Giang, bèn đem thủy lục cùng tiến lên đến hạ trại ở sông Mộc Phàm (ở làng Mộc Phàm, huyện Phú Xuyên tiếp với Hoàng Giang). Hồ Nguyên Trừng đem 30 chiếc thuyền ra đánh bị quân Mộc Thạnh ở hai bên bờ sông đánh ụp lại. Nguyên Trừng thua chạy về cửa Muộn Hải (ở Giao Thủy, Nam Định). Bấy giờ tướng nhà Hồ là Hồ Đỗ và Hồ Xạ cũng bỏ bến Bình Than(ở làng Trần Xá, huyện Chí Linh, Hải Dương) chạy về cửa Muộn Hải để cùng với Nguyên Trừng tìm kế phá giặc; nhưng quân Minh sực đến, lại bỏ chạy ra giữ cửa Đại An (thuộc phủ Nghĩa Hưng bây giờ). Quân Minh ở Muộn Hải phải bệnh, lui về đóng ở bến Hàm Tử, để đợi quân Hồ lên sẽ đánh.
Quân Minh bắt được hơn trăm người, trong đó có các tướng nhà Hồ và đem ra chém hết, quân Đại Ngu thất bại, lui về giữ Cửa Muộn. Hồ Quý Ly và Hán Thương đều trở về Thanh Hóa. Dân vùng Kinh Lộ (từ Thanh Hóa trở ra Bắc) phần nhiều theo nhà Minh làm phản để chống lại nhà Hồ. Hồ Đỗ, Hồ Xạ bỏ Bình Than qua Thái Bình, Đại Toàn, đến cửa Muộn, hợp sức đắp lũy, đúc hỏa khí đóng thuyền chiến. Quyên mộ tiền của, ai đóng góp đều được phong tước, con trai được lấy con gái nhà tôn thất. Viên thị trung Trần Nguyên Chỉ cùng công chúa Thiên Huy dẫn nhân dân tránh loạn ra Đồ Sơn, trung thư lệnh Trần Sư Hiền cùng công chúa Thiên Gia ngược dòng sông Cái đến đầu hàng quân Minh. Người Kiến Hưng là Nguyễn Nhật Kiêm tụ tập bè đảng giết chết Trấn phủ sứ Phan Hòa Phủ rồi đầu hàng quân Minh.
Tướng chỉ huy quân Thần Đinh Ngô Thành nhân gió theo nước triều lên tiến đánh, đột kích đến Giao Thủy. Trương Phụ, Mộc Thạnh chia quân ra hai bên bờ sông chặn đánh. Ngô Thành thế cô bị hãm trận chết, được truy tặng Kiêu vệ tướng quân. Hai bên đối lũy nhau, ngày đêm đánh nhau, vì nắng mưa, dịch bệnh, bùn lầy ẩm ướt, quân Minh khó ở bèn dời đến cửa Hàm Tử, lập doanh trại phòng bị nghiêm ngặt. Tả Tướng quốc Hồ Nguyên Trừng cũng dời đến Hoàng Giang, đón Hồ Quý Ly và Hồ Hán Thương từ Thanh Hóa ra. Bây giờ người miền kinh lộ trước theo quân Minh, nay bị họ sai khiến và mất nhiều gia thuộc, mang lòng oán hận, lại kéo đến cửa quân nhà Hồ để xin đánh quân Minh.

Trận Hàm Tử

Ngày 13 tháng 3 năm 1407, quân nhà Hồ tiến tới cửa Hàm Tử. Khi ấy Hồ Xạ biết người Minh có mai phục, không chịu tiến quân. Hồ Đỗ sai người đến trách, Hồ Xạ liền tập hợp 7 vạn quân thủy bộ nói phao là 21 vạn tấn công quân Minh. Hồ Xạ và Trần Đĩnh chỉ huy quân bộ ở bờ nam; Đỗ Nhân Giám, Trần Khắc Trang chỉ huy quân bộ ở bờ bắc; Nguyễn Công Chửng chỉ huy 100 chiến thuyền làm tiên phong. Hồ Trừng và Hồ Đỗ ở trong doanh Đỗ Mãn, Hồ Vấn chỉ huy quân thủy. Người Minh chia hai mặt thủy bộ xông ra. Quân hai bên bờ sông của họ Hồ quay ngược giáo nhảy xuống chết, chỉ có thủy quân thoát được. Nhưng các thuyển chiến và thuyền chở lương đều bị chìm, không một người nào sống sót về được. An phủ sứ Bắc Giang Nguyễn Hy Chu bị Trương Phụ bắt sống, Hy Chu chửi Phụ là giặc tàn bạo, bị Phụ giết. Minh sử ghi rằng hàng chục ngàn quân nhà Hồ bị chém đầu, nước sông đỏ máu.
Theo sử liệu Trung Quốc, nhà Hồ huy động lực lượng đáng kể (70.000 quân) và nhiều chiến thuyền kéo dài trên sông đến năm cây số. Mặc dù quân Hồ cũng sử dụng súng chống trả, nhưng hỏa lực quân Minh vẫn đủ sức tạo chiến thắng, với 10.000 lính Việt tử trận. Hồ Quý Ly và Hồ Hán Thương cùng các tướng vượt biển về Thanh Hóa.