Năm niên hiệu Chí Nguyên thứ 21 nhà Nguyên, niên hiệu Thiệu Bảo thứ 6 nhà Trần (1284), Nguyên Thế Tổ chuẩn bị đánh Đại Việt, phong cho Thoát Hoan làm Trấn Nam vương vào ngày 3 tháng 6, sai đóng ở Ngạc Châu. Trước đó từ năm 1282, Nguyên Thế Tổ đã sai tướng Toa Đô mang quân theo đường biển đi đánh Chiêm Thành, nhưng tới lúc đó vẫn chưa chiếm được nước này.
Tháng 7 năm đó, ông được lệnh đi đánh Chiêm Thành qua đường Đại Việt. Trần Thánh Tông không đồng ý cho mượn đường. Tháng 12, Thoát Hoan dẫn các tướng Ariq Qaya, Ô Mã Nhi, Lý Hằng, Koncak, Bolqadar, Satartai, Mangqudai, Naqai, Mangqudai, Lý Bang Hiến, Tôn Hựu, Tôn Đức Lâm, Lưu Thế Anh, Lưu Khuê, Nghê Nhuận đi đánh Đại Việt.
Quân Nguyên chia làm 3 đạo tiến đánh Đại Việt. Thoát Hoan và Ariq Qaya chỉ huy đạo chủ lực từ Ninh Minh tiến vào Lộc Châu (nay là Lộc Bình, Lạng Sơn).
Ngày 27 tháng 1 năm sau (1285), ông chia cánh quân của mình làm 2 mũi tiến quân, một do Bolqadar chỉ huy theo đường Khâu Ôn (nay là Ôn Châu, Lạng Sơn), một do Satartai và Lý Bang Hiến chỉ huy đi theo đường núi Cấp Lĩnh (tức là từ Lộc Bình đi Sơn Động ngày nay).
Đại quân của Thoát Hoan đi sau mũi thứ hai của Satartai và Lý Bang Hiến. Chống lại đạo quân thứ nhất này của quân Nguyên là lực lượng chủ lực của quân Trần do đích thân Trần Quốc Tuấn chỉ huy. Sau một số trận đánh, quân Trần phải rút lui khỏi Vạn Kiếp, Phả Lại, Bình Than về dàn trận bên bờ sông Hồng gần thành Thăng Long. Quân Nguyên tiến theo đường bộ về Thăng Long.
Quân Nguyên từ Vạn Kiếp đi theo đường qua Vũ Ninh, Đông Ngạn. Đến sông Đuống, các đơn vị quân Nguyên và quân Trần giáp chiến. Quân Trần bị thiệt hại nặng, quân Nguyên lấy được nhiều thuyền. Thoát Hoan cho dựng cầu phao để đưa đại quân vượt sông Đuống tiến về kinh thành của Đại Việt.
Ngày 18 tháng 2, hai bên đại chiến bên bờ sông Hồng. Quân Trần xuôi sông Hồng rút lui. Quân Nguyên tiến đến đóng dưới chân thành một hôm rồi mới vào thành, chỉ thấy "cung thất nhẵn không". Thoát Hoan khao quân trong cung thành, nhưng rồi lại sớm rút quân khỏi thành, trở lại trại đã lập bên bờ Bắc sông Hồng. Vừa đợi Toa Đô từ phía Nam tiến lên, Thoát Hoan vừa phái Koncak, Mangqudai, Bolqadar theo đường bộ, Lý Hằng, Ô Mã Nhi theo đường thủy đuổi theo hoàng tộc họ Trần, nhưng không thành công.
Thoát Hoan tuy chiếm được kinh thành Đại Việt nhưng gặp phải kế vườn không nhà trống của quân Trần khiến quân Nguyên bị thiếu lương thực. Để phòng thủ mặt phía Nam của thành Thăng Long, Thoát Hoan dựng 2 căn cứ liền kề nhau ở hai bờ sông Hồng, một ở Hàm Tử quan (cửa Hàm Tử - nay ở Khoái Châu, Hưng Yên) và một ở Chương Dương độ (bến Chương Dương - nay ở Thượng Phúc, thuộc Thường Tín, Hà Nội). Tháng 5, quân Trần Quang Khải bắt đầu phản công.
Trước sức tấn công mạnh mẽ và bền bỉ của quân Trần, Thoát Hoan phải rút chạy khỏi thành Thăng Long về đóng ở bờ Bắc sông Hồng (khoảng Gia Lâm ngày nay).
Tướng Toa Đô từ phía nam tiến lên, muốn liên lạc với Thoát Hoan nhưng bị quân Trần chặn đánh. Sau khi thua trận ở Hàm Tử quan, Toa Đô vẫn không biết rằng Thoát Hoan đã tháo chạy. Cánh quân Toa Đô đóng ở sông Thiên Mạc và tìm cách liên lạc với ông. Được ít ngày, Toa Đô biết tin quân Thoát Hoan đã thất bại và rút chạy, bèn lui về Tây Kết và sau bị tử trận.
Ngày 10 tháng 6, tướng Đại Việt là Trần Quốc Tuấn và Trần Tung dẫn hơn 2 vạn quân tấn công Thoát Hoan ở bờ Bắc sông Hồng. Thoát Hoan cử Lưu Thế Anh dẫn quân ra đối phó, nhưng đại bại. Quân Nguyên rút chạy về phía Bắc.
Khi rút chạy đến sông Như Nguyệt (sông Cầu), quân Nguyên bị đơn vị của Trần Quốc Toản chặn đánh. Quân Nguyên thua, không sang sông được, phải chạy về phía Vạn Kiếp. Chạy đến sông Sách (tức đoạn sông Thương chảy qua Vạn Kiếp), quân Nguyên bắc cầu phao định vượt sông, nhưng bị quân Trần do Trần Quốc Tuấn chỉ huy ập vào đánh. Quân Nguyên xô nhau chạy, cầu phao đứt, nhiều binh sĩ bị chết đuối.
Sau khi vượt qua sông Sách, quân Nguyên chạy về hướng Tư Minh. Lý Hằng được cử chặn hậu, đề phòng quân Trần truy kích. Đến Vĩnh Bình, quân Nguyên lại bị quân Trần do Trần Quốc Hiến (Trần Quốc Nghiễn) chỉ huy chặn đánh. Tướng Lý Hằng bị trúng tên độc tử trận. Tương truyền, Thoát Hoan phải chui vào trong ống đồng cho quân lính khiêng để chạy trốn thoát về Tư Minh