Cuộc xuất quân lần này được nhà Nguyên tiến hành ngay sau khi cuộc viễn chinh lần thứ hai vừa thất bại cuối năm 1285. Thảm bại của những lần trước buộc Hốt Tất Liệt phải suy tính kỹ lưỡng cho lần xuất quân này sao cho không trượt theo vết xe đổ cũ là bị rơi vào thế hạ phong ngay từ thời kỳ đấu chiến tranh, mặc dù tiến quân như chẻ tre. Để tập trung binh lực đánh Đại Việt nhà Nguyên phải dừng cuộc xâm lăng Nhật Bản.
Ngày 18 tháng 2 năm 1286, Hốt Tất Liệt lệnh cho triều đình tính việc cất quân. Ngày 3 tháng 3, các tướng lĩnh cầm quân được triều đình chỉ định, kế hoạch sử dụng lực lượng được vạch ra. Đạo quân của Thoát Hoan vừa từ chiến trường Đại Việt trở về chưa kịp hồi phục sức lực cũng như tinh thần lại chuẩn bị bước vào cuộc chinh chiến mới. Các tướng lĩnh tham gia cuộc xâm lược lần thứ ba không ít người đã nếm mùi bại trận của những lần xâm lược trước.
Tháng 2 năm 1287 quan chỉ huy xâm lược Đại Việt được thành lập với tên “Chinh Giao Chỉ hành thượng thư tỉnh”. Agurúctri được cử làm Bình chương chính sự, Abatri và viên tướng Tổng đầu hàng Trình Bằng Phi là Hữu thừa, A Lý làm Tả thừa, Ô Mã Nhi làm Tham tri chính sự. Tất cả các tướng dưới quyền chỉ huy của Trấn Nam vương Thoát Hoan.
Quân và dân Đại Việt bước vào cuộc kháng chiến lần thứ ba với tư thế hoàn toàn chủ động vì Đại Việt đã chuẩn bị đầy đủ các mặt kinh tế chính trị và quốc phòng. Toàn quân, toàn dân Đại Việt đã sẵn sàng chiến đấu. Khi được tin quân Nguyên chuẩn bị xâm lược thì việc tập luyện quân đội càng được đẩy mạnh. Vua Trần Nhân Tông đã ra lệnh tuyển mộ thêm binh lính, chấn chỉnh lực lượng. Chiến thuyền, khi giới được gấp rút chế tạo, tu sửa.
Trần Quốc Tuấn lại được cử làm Tổng chỉ huy, đôn đốc việc chuẩn bị của triều đình, các vương hầu và toàn quân. Nhiều cuộc diễn tập được tiến hành và các đội quân đã được lệnh đóng giữ những nơi hiểm yếu. Biết kẻ thù chuẩn bị một lực lượng binh thuyền lớn, nhà Trần đã tăng cường phòng thủ đường biển. Trần Khánh Dư được phong làm Phó tướng đóng quân ở Vân Đồn, chỉ huy thủy quân phòng thủ vùng biển Đông Bắc. Quân sĩ với tinh thần “Sát Thát” ra sức rèn luyện để có tinh thần và kỹ thuật chiến đấu cao. Tướng sĩ nhà Trần đã từng trải chiến trận, thông hiểu binh pháp.
Cuối tháng 12 năm 1287, gần nửa triệu bộ binh, kỵ binh, thủy binh quân Nguyên chia làm ba đạo tiến công nước ta. Đại thứ nhất do Thoát Hoan chỉ huy từ Quảng Tây tiến theo Lạng Sơn - Vạn Kiếp - Thăng Long. Đạo thứ hai do A Lỗ chỉ huy từ Vân Nam tiến theo sông Hồng. Đạo thứ ba là thủy quân do Ô Mã Nhi chỉ huy cùng đoàn thuyền lương của Trương Văn Hổ từ Khâm Châu tiến vào vùng biển Đông Bắc nước ta, ngược dòng sông Bạch Đằng. Đạo quân viễn chinh được huy động từ các nơi gồm có 1.000 quân Tân Phụ (Nam Tống cũ); 7.000 quân Nguyên; 6.000 quân Vân Nam; 15.000 quân ở đảo Hải Nam. Đây là những đạo quân từng quen chiến trận ở vùng rừng núi.
Khác với cuộc tiến công trước, trong lần tiến công này, cũng với hai mũi tiến công theo đường từ Quảng Tây và Vân Nam, địch tổ chức thêm một mũi tiến công đường thủy gồm 500 chiến thuyền và đoàn thuyền lương. Nắm được ý đồ của địch, nhà Trần huy động sức mạnh toàn dân và tích cực chủ động để ra kế hoạch tiêu diệt quân địch. Các đạo quân chủ lực được bố trí trên các hướng liên quân của địch.
Theo kế hoạch, quân ta vừa chặn đánh để kiềm chế tiêu hao sinh lực địch trên tuyến đường bộ ở biên giới phía Bắc vừa tập trung lực lượng tăng cường phòng thủ đường biển. Một lực lượng thủy binh mạnh được bố trí trên vùng biên Đông Bắc, một địa bàn chiến lược trọng yếu, nhằm tiêu diệt thủy quân và phá hủy lương thực của địch do Trần Khánh Dư chỉ huy. Trong trận Vân Đồn, ông đã lập chiến công xuất sắc khi chọn chính xác mục tiêu, tiêu diệt toàn bộ đoàn thuyền lương của địch, làm thất bại ngay từ đầu kế hoạch hậu cần quân sự của địch. Có thể nói, việc tập trung chặn đánh thủy quân và phát huy đoàn thuyền lương của địch là một “đại lợi” cho quân Đại Việt một đội quân có sở trường đánh thủy mạnh.
Đoàn thuyền lương của quân Nguyên gồm 70 chiếc được giao cho Trương Văn Hổ chỉ huy, có nhiệm vụ chuyên chở 17 vạn thạch lương. Đây là toàn bộ lương ăn của đạo quân xâm lược. Việc tổ chức một hướng tiến công mới là thủy binh, đồng thời, sử dụng thủy binh bảo vệ thuyền lương là một thủ đoạn mới cũng là một cố gắng mới của nhà Nguyên, một đội quân vốn mạnh về kỵ binh.
Sử dụng 70 thuyền chở lương, Hốt Tất Liệt đã tiết kiệm được sức của hàng chục vạn dân phụ nếu vận chuyển theo đường bộ. Ngày 17 tháng 2 năm 1288, dưới sự huy trực tiếp của Ô Mã Nhi, Phàn Tiếp, đoàn thủy binh và theo sau là đoàn thuyền lương của Trương Văn Hổ từ Khâm Châu tiến vào Đại Việt. Trọng trách của đoàn thủy binh là vừa tiến quân vừa bảo vệ đoàn thuyền hướng đến Vạn Kiếp, nơi quân Nguyên muốn xây dựng một căn cứ quân sự lớn, để từ đó xuất phát tiến công diệt quân Trần. Nếu số lương thực được chuyến đến an toàn thì quân Nguyên mới bảo đảm được hậu cần, không phải lo cướp lương ăn như những lần trước.