Tôn Sĩ Nghị dễ dàng đưa quân vào Thăng Long, quân lính kiêu căng, chủ quan mà không biết quân Tây Sơn do Nguyễn Huệ chỉ huy đang tiến quân ra Bắc. Thấy tình hình địch chủ quan, Nguyễn Huệ đã lên ngôi Hoàng Đế vào ngày 25 tháng Chạp, ông lấy hiệu là Quang Trung, bắt đầu tiến quân ra Bắc Hà. Ngày 29 đến Nghệ An, vừa đi vừa tuyển mộ binh lính được hơn một vạn quân tinh nhuệ. Quang Trung mở một cuộc duyệt binh lớn, đọc lời dụ tướng sĩ. Ngày 30 tháng 12, ông mở tiệc khao quân ăn Tết trước. Đêm 30 tháng 12 lên đường, hẹn ngày mồng 7 tiến vào Thăng Long. Nghĩa quân đi đến đâu, tiêu diệt gọn quân địch đế đó. Ngày mồng 3 tháng 1, quân Tây Sơn chiếm đồn Hạ Hồi, mờ sáng ngày mồng 5, chiếm đồn Ngọc Hồi. Quân Thanh ở thành Thăng Long không hề hay biết. Tôn Sĩ Nghị và vua Lê Chiêu Thống cho quân tưng bừng ăn Tết. Quang Trung tiến vào, quân nhà Thanh không chống đỡ nổi đành bỏ chạy, chen chúc nhau mà chết. Vua bù nhìn Lê Chiêu Thống cũng phải chạy thoát