Nhân lúc gió đông nam thổi mạnh, Nguyễn Huệ cho quân thủy giương buồm tiến đến kinh thành Thăng Long. Sáng ngày 21 tháng 7, thuyền quân Tây Sơn xuôi chiều gió, kéo ập đến bến Nam Dư. Về phía quân Trịnh, quân thủy tan vỡ trước. Hai viên thiên tướng là Nguyễn Trọng Yên và Ngô Cảnh đứng ở mũi thuyền chống cự, bị quân Tây Sơn giết chết.
Cánh quân Thúy Ái bị tiêu diệt. Quân Tây Sơn kéo lên bộ, tiến tới hồ Vạn Xuân. Toán quân của Phùng Cơ không kịp dàn thành hàng ngũ, bỏ chạy tan vỡ tứ tung. Thủ hạ và 6 người con đều bị tử trận, Phùng Cơ cùng 2 người con cướp lấy đường mà chạy.