Lê Chiêu Thống sợ uy danh của quân Tây Sơn, sang cầu cứu nhà Thanh. Quân Thanh do Tôn Sĩ Nghị cầm đầu kéo quân vào Thăng Long. Ngô Văn Sở, tướng của Tây Sơn cho quân lui về núi Tam Điệp để bảo tồn lực lượng và cho quân cấp báo với Nguyễn Huệ. Thuận theo lòng tướng sĩ Nguyễn Huệ lên ngôi hoàng đế lấy niên hiệu là Quang Trung sau đó tiến quân ra Nghệ An. Ở Nghệ An nhà vua lấy thêm quân mở cuộc duyệt binh lớn, huấn dụ quân sĩ ai nấy đều đồng sức đồng lòng rồi tiến quân ra Bắc. Đến núi Tam Điệp gặp hai tướng Lân, Sở, Ngô Thời Nhiệm bàn kết hoạch sau khi đánh xong quân Thanh, mở tiệc khao quân. Hẹn với tướng sĩ tối 30 lên đường, ngày 7 Tết tới Thăng Long. Giặc trấn thủ ở đó chưa đánh đã tan vỡ. Toán quân do thám bị bắt sống hết. Nửa đêm ngày mồng 3 Kỉ Dậu bắt đầu tấn công đồn Hạ Hồi quân giặc sợ hãi xin hàng. Sau đó tiếp tục dang thành chữ nhất tiến công đồn Ngọc Hồi, quân Thanh chống không nổi bỏ chạy tán loạn, rơi vào kế nghi binh của Tây Sơn, bị dồn xuống đầm vực, bị vui giày đạp chết hàng vạn người. Giữa trưa hôm ấy quân Tây Sơn kéo vào Thăng Long. Tôn Sĩ Nghĩ nghe tin sỡ hại không kịp mặc áo giáp chạy trốn. Vua Lê Chiêu Thống đem hoàn thân quốc thích rời bỏ kinh thành chạy theo quân Thanh đại bại.