Nguyễn Huệ liền đi xem xét địa hình, thăm dò lòng dân ở đây và tìm hiểu điểm mạnh, yếu của đối phương. Cuối cùng, ông quyết định chọn khúc sông Mỹ Tho từ Rạch Gầm đến Xoài Mút, cách Mỹ Tho khoảng 12 km, làm trận địa quyết chiến.
Sau khi bí mật cho quân và tàu chiến ẩn náu ở các nơi hiểm yếu, Nguyễn Huệ lệnh cho quân đến khiêu khích. Lập tức, Chiêu Tăng giao Sạ Uyển ở lại giữ đại bản doanh, cử Lục Cổn dẫn bộ binh men theo tả ngạn sông Tiền để cùng phối họp; còn ông cùng với tướng tiên phong là Chiêu Sương, dẫn hàng trăm thuyền chiến tiến xuống Mỹ Tho, nơi đặt đại bản doanh của Tây Sơn.
Đêm ngày 18 tháng 1 năm 1785 (ngày 8 tháng Chạp năm Giáp Thìn), lợi dụng con nước đang xuôi, cả hai đạo thủy bộ quân Xiêm cùng rầm rộ tấn công.
Đến khoảng đầu canh năm ngày 19 tháng 1 năm 1785, đoàn thuyền chiến của địch lọt vào trận địa mai phục của quân Tây Sơn ở Rạch Gầm-Xoài Mút, tức thì pháo lệnh tấn công của Tây Sơn nổ vang. Mở đầu trận đánh, hai đội thủy binh Tây Sơn từ Rạch Gầm, Xoài Mút bất ngờ lao ra, chặn đánh hai đầu, dồn quân địch vào vòng vây đã bố trí sẵn. Đồng thời, từ hai bờ sông Tiền (đoạn Rạch Gầm-Xoài Mút) và dọc bờ cù lao Thới Sơn, bãi Tôn, cồn Bà Kiểu, Rừng Dừa... các đại bác cùng pháo hỏa hổ của bộ binh Tây Sơn bắn ra dữ dội vào khúc giữa đoàn thuyền địch lúc bây giờ đang bị ùn lại.
Đồng loạt, đoàn thuyền Tây Sơn từ Rạch Gầm, Xồi Mút từ trong những nhánh rạch nhỏ chảy quanh các cồn bãi, nhanh chóng kéo ra chặn đánh đầu. Một đoàn thuyền Tây Sơn khác ẩn náu sau cù lao Thới Sơn, xông ra đánh mạnh vào hông (nhằm chia cắt đội hình) và đánh chặn đường lui, dồn đoàn thuyền của đối phương vào thế tiến thoái lưỡng nan. Cùng lúc ấy, quân Tây Sơn, cho những thuyền nhẹ chở đầy những vật liệu dễ cháy đâm thẳng vào những chiến thuyền đang rối loạn làm cho số bị chìm, số bị cháy...
Quân Tây Sơn, thủy bộ phối hợp với nhau, khép chặt vòng vây, tiêu diệt quân địch hết mảng này đến mảng khác. Dưới sự chỉ huy và đốc chiến của Nguyễn Huệ, quân Tây Sơn lao vào cuộc chiến đấu quyết liệt. Một viên tướng quân Nguyễn về Long Hồ kể cho Mạc Tử Sinh biết: "Nguyễn Huệ đốc chiến ở phía sau, ra lệnh liều chết đánh, quân sĩ nào không quyết chiến thì chém ngay để làm răn. Vì thế các tướng sĩ đều liều, không nghĩ gì đến tính mệnh... tiến công rất là mãnh liệt"
Trời vừa rạng sáng, thì chiến cuộc cũng vừa dứt. Kết quả là 300 chiến thuyền và 2 vạn thủy binh của Xiêm cùng một số quân của chúa Nguyễn, không đầy một ngày, đã bị quân Tây Sơn phá tan. Hai tướng Chiêu Tăng, Chiêu Sương chạy trốn về Sa Đéc, bị truy kích, lại hối hả cùng Sa Uyển dẫn vài nghìn tàn quân chạy bộ sang Chân Lạp rồi về Xiêm.
Riêng chúa Nguyễn Ánh vừa thấy "thế giặc mãnh liệt, không thể chống nổi" (Mạc Thị gia phả) đã cùng đoàn tùy tùng vội vã rút chạy theo sông Trà Luật ra sông Tiền rồi tìm đường sang Trấn Giang (Cần Thơ). Tại Long Hồ, Mạc Tử Sinh đưa 3 chiếc thuyền còn lại để đón chúa Nguyễn chạy sang Hà Tiên.
Còn quân bản bộ của chúa Nguyễn thì tan tác mỗi người một ngả. Viên cai cơ chỉ huy quân thủy là Nguyễn Văn Oai bị chết tại trận. Những viên tướng khác như Nguyễn Văn Thành, Tôn Thất Huy, Tôn Thất Hội...mỗi người cũng chỉ còn được dăm chục quân.