Trận Chi Lăng – Xương Giang

Lực lượng quân Minh

Trước nguy cơ hoàn toàn thất bại, và để cứu đạo quân Vương Thông đang bị vây hãm ở Đông Quan, đầu năm 1427 nhà Minh đã quyết định phái sang Việt Nam hai đạo quân cứu viện lớn, một đạo do Liễu Thăng chỉ huy, một đạo do Mộc Thạnh chỉ huy.
Lực lượng quân Minh theo Đại Việt sử ký toàn thư lên đến 15 vạn quân, trong đó đạo của Liễu Thăng gồm 10 vạn, đạo của Mộc Thạnh gồm 5 vạn. Theo Lam Sơn thực lục thì quân cứu viện đông tới 20 vạn. Trong khi đó, theo Minh sử, cánh quân của Liễu Thăng chỉ gồm 7 vạn. Cả hai viên tướng Liễu Thăng và Mộc Thạnh đều đã có kinh nghiệm chinh chiến ở Việt Nam trước đây. Ngoài ra còn có Lương Minh là viên tướng thiện chiến, Lý Khánh và Hoàng Phúc là 2 viên quan cấp Thượng thư làm tham mưu cho Liễu Thăng.

Trận Cần Trạm

Tì tướng quân Minh là Thôi Tụ, Hoàng Phúc thu nhập tàn quân, gượng tiến đến ải núi Mã Yên. Ngày 25 tháng 9, Lê Lợi sai Nguyễn Lý, Lê Văn An đem 3 vạn quân tới tiếp viện. Lê Sát, Lưu Nhân Chú tung hết quân ra đánh, chém Bảo Định bá Lương Minh tại trận, Binh bộ Thượng thư Lý Khánh phải thắt cổ tự tử...

Trận Phố Cát

Thôi Tụ nghĩ rằng thành Xương Giang chưa bị hạ, vẫn tiếp tục kéo quân về hướng thành Xương Giang. Lê Sát mở đường cho tiến, chờ đến chỗ phục binh, mới tung quân đón đánh.
Trong trận Phố Cát, Lê Sát, Lưu Nhân Chú lại đánh bại quân Minh, chém được hơn 2 vạn người, bắt được lừa ngựa, trâu bò, quân tư khí giới nhiều không kể xiết.

Trận Xương Giang

Mùa đông, tháng 10, Lê Lợi sai Nguyễn Lý và Lê Văn An đem 3 vạn quân bao vây bốn mặt, lại dựng rào lũy ở tả ngạn sông Xương Giang để ngăn chặn. Quân Minh tuy thua nhưng còn đông và mạnh. Thôi Tụ dự tính vào thành Xương Giang làm nơi trú quân để phối hợp với Vương Thông, nhưng khi tiến đến gần Xương Giang mới biết là thành đã bị quân Lam Sơn hạ. Thôi Tụ phải đóng quân ngoài cánh đồng Xương Giang tại nơi nay có thể là xã Tân Dĩnh (huyện Lạng Giang, Bắc Giang) và xung quanh, cách thành Xương Giang khoảng 3 km, đắp lũy đất để phòng thủ. Lại cho quân bắn pháo làm hiệu để quân ở Đông Quan đến ứng cứu.
Quân Minh đóng quân trong một vị trí mà phía nam là thành Xương Giang kiên cố; phía tây bắc, tây và tây nam là sông Thương; phía đông nam có sông Lục Nam; phía bắc, quân của Lê Sát, Lưu Nhân Chú, Lê Lý, Lê Văn An, sau trận Phố Cát tiếp tục bám lưng đối phương. Quân Lam Sơn còn cử các đơn vị thủy quân lên bố trí trên sông Thương và sông Lục Nam.
Lê Lợi bèn sai các quân thủy, bộ cùng tiến quân bao vây. Lại chia quân chặn hết các ải Mã Yên, Chi Lăng, Pha Lũy, Bàng Quan. Thôi Tụ và Hoàng Phúc muốn tiến cũng không được, muốn lui cũng không xong, bèn giả hòa, nhưng âm mưu định chạy vào thành Chí Linh. Lê Lợi biết được quỷ kế của chúng, kiên quyết khước từ không cho hòa.
Lê Lợi sai Trần Nguyên Hãn chặn đứng đường vận chuyển lương thực của giặc, sai Lê Vấn, Lê Khôi đem 3 nghìn quân Thiết đột, 4 thớt voi cùng với quân của Lê Sát, Lưu Nhân Chú, Nguyễn Lý, Lê Văn An tấn công.
Sách Việt sử tiêu án viết rằng: Gặp lúc có mưa gió to, người và ngựa chỉ trông nhau không đi được bước nào; Vương [Lê Lợi] sai chư quân đến vây kín.
Ngày 15, tháng 10, năm 1427, quân Minh đại bại, nghĩa quân chém chết hơn 5 vạn thủ cấp, bắt sống Thôi Tụ, Hoàng Phúc và hơn 3 vạn người, thu được vũ khí, ngựa chiến, vàng bạc, vải lụa nhiều không kể xiết. Còn những kẻ chạy trốn thì trong khoảng không đến 5 ngày đều bị bọn chăn trâu kiếm củi bắt gần hết, không sót một ai.
Thôi Tụ không chịu đầu hàng, Lê Lợi sai giết đi. Còn Hoàng Phúc vì trước đã nhậm chức Bố chính, hơi được lòng dân, không nỡ gia hại. Hoàng Phúc nhân xin tương kiến với Vương Thông để điều đình việc giảng hòa bãi binh.

Đánh bại Mộc Thạnh

Tổng binh Vân Nam là Kiềm Quốc công Mộc Thạnh cùng với bọn Phạm Văn Xảo, Trịnh Khả, Lê Trung, Lê Khuyển cầm cự nhau ở Lê Hoa. Lê Lợi liệu tính rằng Mộc Thạnh tuổi đã già, từng trải việc đời đã nhiều, lại biết tiếng nghĩa quân từ trước, nhất định còn đợi xem Liễu Thăng thành bại ra sao chứ không nhẹ dạ tiến quân, bèn gởi thư mật, bảo Trịnh Khả, Lê Khuyển cứ đặt mai phục chờ đợi, chớ giao chiến vội. Khi quân Liễu Thăng đã bị thua, Lê Lợi sai lấy 1 chỉ huy và 3 thiên hộ của quân Minh mà ta bắt được, cùng những sắc thư, phù ấn của Liễu Thăng đưa đến chỗ quân Mộc Thạnh.
Mộc Thạnh trông thấy rất hoảng sợ, trong phút chốc quân tan vỡ tháo chạy. Phạm Văn Xảo, Trịnh Khả thừa thắng tung quân ra đánh, phá tan quân giặc ở Lãnh Câu và Đan Xá, chém hơn 1 vạn thủ cấp, bắt sống hơn 1 nghìn người và hơn 1 nghìn con ngựa, còn bị chết đuối ở khu vực thì nhiều không kể xiết. Mộc Thạnh thì chỉ còn một mình một ngựa tháo chạy. Nghĩa quân thu được chiến khí, của cải, xe cộ nhiều hơn hẳn trận thành Xương Giang.
An Nam truyện trong Minh sử chép: 沐晟軍至水尾, 造船將進, 聞通已議和, 亦引退, 賊乘之, 大敗 (Mộc Thạnh quân chí Thủy Vĩ, tạo thuyền tương tiến, văn Thông dĩ nghị hòa, diệc dẫn thoái, tặc thừa chi, đại bại) nghĩa là "Mộc Thạnh kéo quân đến Thủy Vĩ, làm thuyền bè, sửa soạn để chực tiến quân. Được tin Thông đã nghị hòa, Thạnh cũng rút lui. Địch thừa thắng đổ ra đánh. Thạnh thua to". Theo Minh thực lục, ngày 14 tháng 12 năm 1427, Mộc Thạnh cùng thuộc hạ chạy tới Cao Trại, Thủy Vĩ thì bị quân Lam Sơn phục kích cả trên sông lẫn trên bờ, phải vất vả làm lại thuyền mới đi tiếp được.
Lê Lợi đưa Hoàng Phúc đến thành Đông Quan, Vương Thông lo sợ, tập họp tướng sĩ bàn rằng: Thành không thể giữ được, mà đánh không thể thắng, không gì bằng toàn quân trở về Bắc. Bèn sai Sơn Thọ đưa thư cầu hòa, xin mở cho con đường về nước, Lê Lợi chấp thuận.
Theo sách Đại Việt thông sử, trong chiến dịch này, công của Lê Sát đứng đầu các vị tướng.

Kết quả

Chỉ trong vòng chưa đầy 1 tháng, đạo quân viện binh đông tới 10 vạn quân của nhà Minh đã bị tiêu diệt hoàn toàn. Bộ chỉ huy quân Minh bị chết trận hay bị bắt gần hết. Trong khi bao vây Xương Giang, quân Lam Sơn đưa tù binh của cánh quân Liễu Thăng lên báo tin cho Mộc Thạnh. Mộc Thạnh vội vàng cho quân rút chạy. Nghĩa quân dưới sự chỉ huy của Phạm Văn Xảo, Trịnh Khả đã truy kích tiêu diệt trên 1 vạn quân Minh, làm tan rã hoàn toàn cánh quân này. Như vậy, toàn bộ lực lượng viện binh của quân Minh đã bị đại bại. Kết quả này là một trong những nhân tố quan trọng khiến Vương Thông phải chấp nhận nghị hòa và không xin phép triều đình Minh đã tự ý rút quân về nước.