Khi Quang Trung – Nguyễn Huệ kéo quân ra Bắc lần thứ hai để bắt Vũ Văn Nhậm, sợ thanh thế Tây Sơn, sau khi Nguyễn Huệ đã rút về Phú Xuân, vua Lê Chiêu Thống sợ hãi sang cầu cứu triều đình Mãn Thanh. Giặc Thanh ồ ạt kéo sang, nhân cơ hội này muốn thôn tính nước ta làm quận, huyện. Được tin, vua Quang Trung rất giận, bèn bàn bạc với tướng sĩ, sắp sẵn kế hoạch tiến đánh, mở cuộc duyệt binh, đích thân an ủi và kêu gọi binh sĩ đoàn kết đánh đuổi giặc ngoại xâm.
Quang Trung mở tiệc khao quân, chia quân thành 5 đạo, thân hành cầm quân ra trận, tối 30 tết lên đường, hẹn ngày mồng 7 tết sẽ mở tiệc ăn mừng thắng lợi ở kinh thành Thăng Long.
Quân Tây Sơn ra đến sông Gián, quân giặc trấn thủ ở đó tan vỡ, toán quân Thanh đi do thám bị bắt sống hết. Nửa đêm mồng 3 tết Kỉ Dậu (1789), vua Quang Trung tới Hà Hồi, Thượng Phúc, lặng lẽ vây kín thành. Quân giặc bấy giờ mới biết, rụng rời sợ hãi xin hàng.
Mờ sáng ngày mồng 5 tết, quân Tây Sơn dàn trận "chữ nhất" tiến sát đồn Ngọc Hồi. Quân Thanh chống cự không nổi, bỏ chạy tán loạn, giẫm đạp lên nhau mà chết. Tướng giặc là Sầm Nghi Đống phải thắt cổ tự tử. Phía đông thành Thăng Long, vua Quang Trung nghi binh dồn giặc xuống đầm Mực, cho voi giày đạp khiến quân giặc kinh hồn bạt vía, chết như ngả rạ. Giữa trưa hôm ấy, quân Tây Sơn tới thành Thăng Long. Tổng đốc Tôn Sĩ Nghị đang vui yến tiệc, nghe tin cấp báo, sợ mất mật. Tướng sĩ chen chúc, giẫm đạp lên nhau chạy trốn về nước. Vua Lê Chiêu Thống cũng hốt hoảng chạy trốn sang Trung Quốc. Quân Tây Sơn toàn thắng trước sự đại bại của quân Thanh.