Lần thứ nhất
Bản đồ mô tả cuộc kháng chiến lần thứ nhất chống quân Mông Cổ
Bài chi tiết: Chiến tranh Nguyên Mông-Đại Việt lần 1
Lần thứ nhất Mông Cổ tấn công Đại Việt vào tháng 1 năm 1258. Từ Đại Lý, quân Mông Cổ và Đại Lý tiến vào Đại Việt. Đích thân Trần Thái Tông và Thái tử Trần Hoảng dẫn quân lên nghênh địch tại Bình Lệ Nguyên (nay là Bình Xuyên, Vĩnh Phúc). Quân Mông Cổ tỏ ra chiếm ưu thế, quân Trần khi thất lợi đã chủ động rút lui về Phù Lỗ để bảo toàn lực lượng chứ không dốc sức đánh tới cùng, quân Mông Cổ đã không thành công trong việc tiêu diệt quân chủ lực Đại Việt và bắt các vua Trần.
Trận tiếp theo diễn ra tại Phù Lỗ (bên sông Cà Lồ). Quân Đại Việt lại bị đánh bại. Tuy nhiên, triều đình nhà Trần đã dự tính trước điều này và đã chủ động sơ tán người dân và của cải ra khỏi kinh đô từ trước. Quân Mông Cổ dù chiếm được Thăng Long, nhưng nhà Trần đã thực hiện "vườn không nhà trống", đem đi hết lương thực trong thành khiến quân Mông gặp phải khó khăn về lương thực.
Chỉ 10 ngày sau khi rút khỏi Thăng Long, vua Trần và Thái tử lại dẫn quân phản công, đánh thắng quân Mông Cổ trong trận Đông Bộ Đầu (nay là quận Ba Đình, Hà Nội). Quân Mông Cổ lập tức bỏ thành Thăng Long rút lui về nước, cũng bằng con đường dọc theo sông Hồng. Trên đường rút lui, quân Mông Cổ đã bị lực lượng các dân tộc thiểu số miền núi Tây Bắc do Hà Bổng chỉ huy tập kích.
Toàn bộ cuộc chiến lần thứ nhất chỉ diễn ra trong vòng khoảng nửa tháng, với chỉ khoảng 3-4 trận đánh lớn. Sau thất bại tại Đại Việt, quân Mông Cổ phải tìm đường khác để tấn công Tống từ phía Nam.
Lần thứ hai
Bài chi tiết: Chiến tranh Nguyên Mông-Đại Việt lần 2
Bản đồ mô tả cuộc kháng chiến lần thứ 2 chống quân Nguyên
27 năm sau, Hoàng đế nhà Nguyên là Hốt Tất Liệt ra lệnh chinh phạt Đại Việt. Cuộc chiến lần này kéo dài khoảng 4 tháng từ cuối tháng Chạp năm Giáp Thân đến cuối tháng Tư năm Ất Dậu (cuối tháng 1 đến cuối tháng 5 năm 1285 dương lịch). Lần này, quân Nguyên chuẩn bị chiến tranh tốt hơn, huy động lực lượng lớn hơn. Ngoài lục quân từ phía Bắc tiến xuống, còn có thủy quân từ mặt trận Chiêm Thành ở phía Nam chuyển sang.
Cũng tương tự như lần thứ nhất, quân Nguyên mau chóng giành thắng lợi. Quân Đại Việt liên tục bị đánh bại ở các mặt trận Lạng Sơn, Sơn Động, Vạn Kiếp, Thu Vật (Yên Bình), sông Đuống. Từ phía Bắc, chỉ khoảng 20 ngày sau khi vượt qua biên giới, quân Nguyên đã chiếm được thành Thăng Long. Triều đình nhà Trần rút lui theo sông Hồng về Thiên Trường (Nam Định) và Trường Yên (Ninh Bình), chịu sự truy kích ráo riết của quân Nguyên. Mọi nỗ lực phản kích của các vua Trần dọc theo sông Hồng đều bị quân Nguyên đánh bại. Từ phía Nam, Sogetu dẫn quân từ Chiêm Thành lên dễ dàng đánh tan quân Đại Việt tại vùng Nghệ An-Thanh Hóa. Bị ép cả trước lẫn sau, các vua Trần phải rút ra biển lên vùng Quảng Ninh, đợi đến khi cánh quân Nguyên phía Nam đi qua Thanh Hóa mới lui về Thanh Hóa.
Cũng giống như lần trước, quân Nguyên lại gặp khó khăn về lương thực. Nhà Trần thực hiện tiêu thổ kháng chiến khiến quân Nguyên không thể lấy được lương thực từ dân bản địa. Trong khi đó, quân Đại Việt đã nhanh chóng chấn chỉnh đội ngũ và chờ đợi đối phương mệt mỏi, suy giảm nhuệ khí. Khoảng gần 2 tháng sau khi rút về Thanh Hóa, Đại Việt phản công. Dọc theo sông Hồng, quân Đại Việt lần lượt giành thắng lợi tại cửa Hàm Tử (nay ở Khoái Châu, Hưng Yên), bến Chương Dương (nay ở Thượng Phúc, thuộc Thường Tín, Hà Nội), giải phóng Thăng Long.
Cánh quân phía Bắc của quân Nguyên trên đường rút chạy đã bị tập kích tại sông Cầu, tại Vạn Kiếp, Vĩnh Bình. Cánh quân rút về Vân Nam bị tập kích tại Phù Ninh. Cánh quân phía Nam bị tiêu diệt hoàn toàn tại Tây Kết (Khái Châu)
Lần thứ ba
Bài chi tiết: Chiến tranh Nguyên Mông-Đại Việt lần 3
Bản đồ mô tả cuộc kháng chiến lần thứ 3 chống quân Nguyên
Ngay sau khi bại trận về nước năm 1285, quân Nguyên chỉnh đốn quân ngũ, bổ sung lực lượng, đóng tàu chiến, huy động lương thực để trở lại đánh Đại Việt lần thứ ba. Cuộc chiến lần này kéo dài khoảng gần 4 tháng, từ cuối tháng 12 năm 1287 đến cuối tháng 4 năm 1288. Quân Nguyên chia làm 3 cánh vào Đại Việt từ Vân Nam, từ Quảng Tây và từ Quảng Đông (theo đường biển) vào Đại Việt.
Giống như 2 lần trước, quân Nguyên mau chóng đánh tan quân Đại Việt cả trên bộ lẫn trên biển, nhưng lại chịu một tổn thất quan trọng, đó là lương thực chuyên chở bằng tàu biển bị mất hết vì bị các đơn vị của Trần Khánh Dư tấn công ở Vân Đồn, vì bão biển, vì đi lạc. Quân Nguyên tập trung ở Vạn Kiếp và đánh rộng ra xung quanh, chiếm được Thăng Long, nhưng lại bị đói giống như hai lần trước.
Khác với 2 lần trước, lần nay quân Đại Việt không huy động lực lượng lớn chặn đánh quân Nguyên từ đầu, mà chỉ đánh có tính kìm chân. Bộ chỉ huy và phần lớn lực lượng Đại Việt rút về vùng Đồ Sơn, Hải Phòng, từ đó tổ chức các cuộc tấn công vào căn cứ Vạn Kiếp và đánh thủy quân Nguyên.
Vì đói và có nguy cơ bị đối phương chia cắt, quân Nguyên bỏ Thăng Long rút về Vạn Kiếp, rồi chủ động rút lui dù quân Đại Việt chưa phản công lớn. Cánh thủy quân của Nguyên đã bị tiêu diệt hoàn toàn tại sông Bạch Đằng khi định rút ra biển. Các cánh lục quân Nguyên khi đi qua Bắc Giang và Lạng Sơn đã bị quân Đại Việt tấn công dữ dội.
Chấm dứt chiến tranh
Sau thất bại lần thứ ba năm 1288 ở Đại Việt, Nguyên Thế Tổ - Hốt Tất Liệt vẫn chưa muốn đình chiến. Sang các năm sau, vua Nguyên tiếp tục muốn điều binh sang nhưng chưa gặp thời cơ thuận tiện. Có năm sắp tiến quân thì chánh tướng chết nên hoãn binh, năm sau định đánh thì phó tướng lại chết nên lại đình chỉ việc tiến quân. Tới năm 1294 lại định điều binh lần nữa thì chính Hốt Tất Liệt băng hà. Cháu nội là Nguyên Thành Tông lên ngôi không muốn gây chiến với Đại Việt nữa. Việc chiến tranh với nhà Nguyên từ đó mới chấm dứt.
Về số quân Nguyên
Sử sách Việt Nam và Trung Quốc nêu số quân Nguyên không thống nhất. Lần đầu, Nguyên sử chỉ nêu vài ngàn quân; sau này các nhà nghiên cứu Việt Nam cho rằng số quân Nguyên năm 1257 khoảng 3 vạn[3]. Nhà sử học Ba Tư là Said ud Zin cho biết quân Mông khi đến Vân Nam có 3 vạn nhưng khi về đến Ngạc châu gặp Hốt Tất Liệt thì số quân chỉ còn lại 5.000 người[4]. Ngoài quân Mông Cổ thì còn có 1,5 tới 2 vạn quân Đại Lý cùng tham gia đánh Đại Việt, song không rõ tổn thất bao nhiêu. Như vậy, tổng cộng lần 1, Mông Cổ có khoảng 40-55 ngàn quân.
Lần thứ hai, Đại Việt Sử ký Toàn thư chép quân Nguyên có 50 vạn và khi rút về chỉ còn 5 vạn. Nguyên Sử chép rằng chỉ có 30 vạn nếu tính luôn cả dân phu là những người không tham gia chiến đấu. Con số 30 vạn được các nhà nghiên cứu Việt Nam cho rằng phù hợp. Tuy nhiên, về số trở về nước, chắc chắn nhiều hơn 5 vạn, vì từ tháng 6 âm lịch năm 1285, Thoát Hoan rút chạy về, tới tháng 8 đã được lệnh chuẩn bị sang lần nữa (sau đó Thoát Hoan được cấp thêm gần 10 vạn quân bổ sung). Như vậy số quân Nguyên còn lại cũng tương đối nhiều, gần với số cần thiết mang đi viễn chinh lần nữa[5]. Theo 1 số tác giả thì quân Đại Việt lần này có 30 vạn người.[6]
Lần thứ 3, Đại Việt Sử ký Toàn thư ghi số quân là 50 vạn, trong khi Khâm định Việt sử Thông giám Cương mục lại cho rằng như vậy quá nhiều, chỉ có khoảng gần 10 vạn là số quân bổ sung. Các nhà nghiên cứu cũng của Việt Nam xác định rằng quân Nguyên lần này cũng có khoảng 30 vạn như lần thứ hai, còn quân Trần có tổng số khoảng 20 vạn[7].
Nguyên nhân thắng lợi
Nguyên nhân cơ bản nhất cho những thành công của nhà Trần là chính sách đoàn kết nội bộ của những người lãnh đạo. Dù trong hoàng tộc nhà Trần có những người phản bội theo nhà Nguyên nhưng nước Đại Việt không bị mất, nhờ sự ủng hộ của đông đảo dân chúng[8].
Còn một nguyên nhân nữa phải kể tới trong thành công của nhà Trần là đội ngũ tướng lĩnh xuất sắc, nòng cốt lại chính là các tướng trong hoàng tộc nhà Trần. Dù xuất thân quyền quý nhưng các hoàng tử, thân tộc nhà Trần, ngoài lòng yêu nước - và bảo vệ quyền lợi dòng tộc - số lớn là những người có thực tài cả văn lẫn võ. Thật hiếm dòng họ cai trị nào có nhiều nhân tài nổi bật và nhiều chiến công như nhà Trần, đặc biệt là thế hệ thứ hai: Trần Quốc Tuấn, Trần Thánh Tông, Trần Quang Khải, Trần Nhật Duật đều là những tên tuổi lớn trong lịch sử Việt Nam. Đó là chưa kể tới Trần Thủ Độ, Trần Khánh Dư, Trần Quốc Toản...[9].
Theo các nhà nghiên cứu, chiến thắng của nhà Trần có được nhờ vào sự sáng suốt của các tướng lĩnh trong chiến thuật, đứng đầu là Trần Hưng Đạo. Trong khi tác chiến, các tướng lĩnh nhà Trần chủ động tránh lực lượng hùng hậu người Mông Cổ mà đánh vào các đạo quân người Hán bị cưỡng bức theo quân Mông sang Đại Việt. Tâm lý của những người mất nước và phải chịu sự quản thúc của người Mông khiến các đạo quân này nhanh chóng tan rã, sức kháng cự thấp. Một cánh quân tan rã có tác động tâm lý lớn tới các đạo quân còn lại trên toàn mặt trận[10].
Mông-Nguyên đương thời là đế quốc lớn nhất thế giới. Những nơi người Mông bại trận lúc đó như Ai Cập quá xa xôi, Nhật Bản và Nam Dương đều có biển cả ngăn cách và quân Mông cũng không có sở trường đánh thủy quân, lại gặp bão to (Thần phong) nên mới bị thua trận. Thế nhưng nước Đại Việt lúc đó nằm liền kề trên đại lục Đông Á, chung đường biên giới cả ngàn dặm với người Mông mà người Mông vẫn không đánh chiếm được. Một đế quốc đã nằm trùm cả đại lục Á - Âu mà không lấy nổi một dải đất bé nhỏ ở phía nam. Tổng cộng 3 đợt xuất quân, Mông-Nguyên huy động khoảng 60 vạn tới 1 triệu lượt quân, trong khi dân số Đại Việt khi ấy chưa đầy 4 triệu. Có so sánh tương quan lực lượng với kẻ địch và vị trí địa lý với những quốc gia làm được điều tương tự mới thấy được sự vĩ đại của chiến công 3 lần đánh đuổi Mông-Nguyên của nhà Trần.
Theo giáo sư Đào Duy Anh thì có 3 nhược điểm khiến quân Mông Nguyên thất bại ở Đại Việt[11]:
Người Mông Cổ đi đánh xa, lương thực không được vận chuyển đầy đủ mà chỉ mong cướp bóc của dân bản địa để nuôi quân, nếu không được thì dễ bị khốn vì thiếu lương (Trong lần đánh Đại Việt thứ 3, quân Nguyên rút kinh nghiệm điều này và đã cho thuyền chở nhiều lương thực sang hỗ trợ, nhưng đoàn thuyền này lại bị Đại Việt phục kích tiêu diệt nên quân Nguyên lại tiếp tục thất bại).
Quân Mông Nguyên là người phương bắc, không hợp thuỷ thổ.
Quân lính Nguyên phần lớn là người Trung Hoa bị chinh phục, tinh thần chiến đấu không có, gặp khó khăn là chán nản. Quân gốc Mông Cổ thiện chiến thì lại không phát huy được sở trường do chiến lược của Đại Việt là chọn đánh quân Nguyên ở những vùng bến sông hoặc rừng rậm, tránh giao chiến ở vùng bằng phẳng.
Chiến công của nhà Trần nhìn chung được nhiều thế hệ nhân dân ca ngợi qua các thần tích, vè và những lời truyền tụng trong dân gian. Sang thế kỷ 20, Trần Trọng Kim và Phan Kế Bính cũng ca tụng nhiều về chiến thắng đó[12].
Sách Việt sử tiêu án của Ngô Thì Sĩ ca ngợi chiến công đánh quân Nguyên, nhưng chê trách việc dâng công chúa An Tư cho Thoát Hoan là hạ sách[9].
Riêng Khâm định Việt sử Thông giám Cương mục của nhà Nguyễn, Tự Đức không khen ngợi, cho rằng nhà Trần gặp may vì các tướng Nguyên sang Đại Việt đều không giỏi. Tuy nhiên rõ ràng những tướng Nguyên như Ngột Lương Hợp Thai, Toa Đô, Ô Mã Nhi hay Lý Hằng đều là những tướng lính dày dạn trận mạc, từng tham gia diệt Nam Tống và Đại Lý. Đặc biệt là Ngột Lương Hợp Thai, được xếp vào hàng công thần thứ 3 của nhà Nguyên, từng tham gia đánh nước Kim của người Nữ Chân; tấn công Đức và Ba Lan dưới cờ của Bạt Đô, tấn công Vương quốc Bagdad cùng Húc Liệt Ngột, và diệt nước Đại Lý chỉ trong vài tuần. Trần Xuân Sinh trong Thuyết Trần phản bác quan điểm này và cho rằng những lời bình luận đó là "ngớ ngẩn"[13]:
Nguyên chúa Hốt Tất Liệt anh hùng, rất giỏi quân sự, đâu có sai đi nam chinh những đồ vô dụng. Quân Mông Cổ hùng mạnh, đã thắng quân ta ở Lạng Sơn, Nội Bàng và Vạn Kiếp, chiếm đóng kinh thành Thăng Long, lại thắng lớn ở ngoài khơi Quảng Yên... thế rất lớn, nhiều nơi lâm nguy... Vua quan triều Nguyên đã làm lệch lạc lịch sử. Các tướng nhà Nguyên không phải không giỏi,... thua chỉ vì gặp các tướng nhà Trần giỏi hơn mà thôi.