Nghe tin quân Thanh kéo vào Thăng Long, Nguyễn Huệ đang ở Phú Xuân liền lên ngôi hoàng đế, lấy hiệu là Quang Trung, tiến quân ra Bắc Hà. Đến Nghệ An, vua cho tuyển mộ lính, ra lời phủ dụ họ. Đến Tam Điệp, 30 Tết, vua cho quân sĩ ăn Tết trước. Đêm mùng 3 thánh giêng đánh thắng Hà Hồi. Mồng 5 đánh thắng Ngọc Hồi, quân Thanh đại bại. Trưa đó Quang Trung tiến binh vào Thăng Long. Tôn Sĩ Nghị trốn chạy, quân giặc tranh nhau qua cầu, cầu gãy, xác giặc làm nghẽn cả khúc sông. Vua tôi nhà Lê trốn chạy theo giặc sang Trung Quốc.