Nhà Tây Sơn gồm ba anh em Nguyễn Huệ, Nguyễn Nhạc, Nguyễn Lữ. Mỗi người xưng vương một miền. Nguyễn Huệ được mọi người gọi là Bắc Bình Vương. Trong thời kỳ đầy biến động của xã hội phong kiến Việt Nam những năm 30 cuổì thế kỉ XVIII, Lê Chiêu Thống rất lo sợ cho cái ngai vàng mọt rỗng của mình nên đã cầu cứu quân thanh, mở đường cho quân Thanh và Tôn Sĩ Nghị kéo quân vào Thăng Long xâm lược nước ta. Ngày 24 tháng 11, Trần Văn Tuyết chạy vào thành Phú Xuân cấp báo cho Bắc Bình Vương về việc quân Thanh xâm lược; Lê Chiêu Thống nhận sắc phong của vua nhà Thanh là Nam Quốc Vương; Ngô Văn Sở cho quân rút lui về Tam Điệp, nghĩa là nước ta mất hết đất từ cửa ải phía Bắc đến Thăng Long. Nghe được tin cấp báo, Bắc Bình Vương giận lắm. Biết là biến cố lớn, ông quyết định mở cuộc tấn công ra Bắc đại phá quân Thanh.
Nguyễn Huệ quyêt định lên làm vua, lấy niên hiệu là Quang Trung và mở cuộc tấn công ra bắc.
Nguyễn Huệ lên ngôi hoàng đế ngày 25 tháng Chạp năm Mậu Thân 1788. Theo sử sách ghi lại trích trong "Các triều đại Việt Nam", Nguyễn Huệ là một vị tướng tài: "Đây là người có dung mạo đặc biệt, tóc xoăn, da sần, tiếng nói sang sảng như chuông, đôi mắt sáng như chớp, có thế nhìn thấy mọi vật trong đêm tối. vẻ mặt của ông như toát lên một ý chí, một cái đẹp oai phong, lẫm liệt”.
Bấy giờ ở Phú Xuân, vua Quang Trung cho kén lính. Ớ Nghệ An, cứ ba suất đinh thì lấy một người, chưa mấy lúc, đã được hơn một vạn quân tinh nhuệ. Rồi nhà vua cho mở cuộc duyệt binh lớn ở Vĩnh Doạnh (Nghệ An). Đến Thanh Hoá ông vẫn tiếp tục tuyển thêm binh lính và làm lễ tuyên thệ. Trong lời dụ với các tướng sĩ, Quang Trung lẫm liệt và thể hiện rõ quyết tâm chống giặc ngoại xâm, bảo vệ nền độc lập của đất nước. Với ý chí hiên ngang, bất khuất, với ánh mắt căm thù giặc, Quang Trung đã tuyẽn bố:
Đánh cho để dài tóc,
Đánh cho để đen răng,
Đánh cho nó chích luân bất phản,
Đánh cho nó phiên giáp bất hoàn,
Đánh cho sử tư Nam quốc anh hùng chi hữu chủ.
Sau đó Quang Trung cũng động viên tướng sĩ của mình có lòng quyết tâm bằng giọng nói sang sảng, đầy hào khí, khẳng định niềm tin vào ý chí quyết thắng của đội quân chính nghĩa. Ra đến Tam Điệp, Quang Trung đã phân rõ công tội của Sở và Lân qua lời nói rất hào khí "Binh pháp dạy rằng: "Quân thua chém tướng" tội của các ngươi tuy đáng chết một vạn lần. Song ta nghĩ các người đều là hạng võ dũng, chỉ biết gặp giặc là đánh, nên việc tuỳ cơ ứng biến là không có tài" và ông khen ngợi kế sách tạm rút quân để bảo toàn lực lượng của Ngô Thì Nhậm và các tướng.
Vua Quang Trung bèn sai mở tiệc để khao quân rồi bảo kín với các tướng sĩ: "Ta với các ngươi hãy tạm sửa lễ cúng Tết trước đã. Đên tôi 30 Têt lập tức lên đường, hẹn đến ngày mồng 7 năm mới thì vào thành Thăng Long mở tiệc ăn mừng.
Sau đó ông chia ra làm 5 đạo quân. Đạo chủ lực do Quang Trung trực tiếp chỉ huy, thẳng hướng Thuỷ Long. Đạo thứ hai và thứ ba đánh vào tây nam Thăng Long và yểm trợ cho đạo chủ lực. Đạo thứ tư tiến ra phía Hải Dương. Đạo thứ năm tiến lên Lạng Giang - Bắc Giang, chặn đường rút lui của quân địch. Khi tiến thẳng đến thành Thăng Long, đế giữ sức cho quân lính chiến đấu, ông sai dùng cáng làm võng. Hai người khiêng một người nằm ngủ và cứ thế luân phiên nhau đi suốt ngày đêm.
Đến đêm 30 Tết âm lịch, quân ta vượt sông Gián Khẩu, tiêu diệt gọn toàn bộ quân địch ở đồn tiền tiêu, khí thế của quân ta càng lớn. Sau những ngày Quang Trung hành quân thần tốc, quân giặc tan vỡ tháo chạy nhưng không thoát, nên không báo được tin về. Việc tiến quàn của quân ta rất bí mặt. Nứa đèm ngày mồng 3 tháng Giêng, năm Ky Dậu, vua Quang Trung tới làng Hà Hồi và lặng lẽ vây kín láng. Quân giặc bị bá't ngờ, hoảng sợ, hạ khí giới xin đầu hàng, lương thực và khí giới đều bị quân ta lấy hết.
Mờ sáng ngày mùng năm, quân ta tiến sát đồn Ngọc Hồi. Đây là đồn quan trọng nhất của địch. Đồn lũy được xây dựng kiên cố, xung quanh đều cắm chông sắt và chôn địa lôi. Vua Quang Trung thấy thế, truyền lấy sáu chục tấm ván, cứ ghép liền ba tấm làm thành một bức, bên ngoài lấy rơm dấp nước phủ kín, tất cả là hai mươi bức. Đoạn kén hạng lính khoẻ mạnh, cư mười người khênh một bức, lưng giát đao ngắn, hai mươi người khác đều cầm binh khí theo sau, dàn thành trận chữ "nhất". Khi tiến sát đến gần, Quang Trung truyền lệnh cho quân sĩ đồng loạt xông tới, quân Thanh nổ súng nhưng không trúng bèn phun khói lứa nhưng không ngờ gió đối hướng, quân Thanh tự làm hại mình, thế gọi là "gậy ông đập lưng ông". Được lệnh, đội quân khiêng ván vừa che vừa xông lèn, khi đã chạm nhau thì quăng ván xuống; dùng đao ngắn chém bừa, những quân sĩ đằng sau cũng nhất tề xông lên. Quân Thanh chống không nối, bó chạy toán loạn, giày xéo lên nhau mà chết, thây nằm đầy đồng, máu chảy thành suối. Quân Thanh đại bại. Cùng lúc đó, đạo quân thứ hai và thứ ba tân công vào đồn Đống Đa, được nhân dân địa phương úng hộ, quân ta giáp chiến, đốt lứa thiêu cháy doanh trại. Tướng giặc là sầm Nghi Đông khiếp sợ, thắt cố tự tứ. Quân Thanh tháo chạy về phía đông trông thấy đạo quân thứ tư càng khiếp sợ, bèn tìm lối tắt nhưng bị đạo quân thứ năm chặn đường. Hết hồn vía, quân Thanh bèn trốn xuống làng Quỳnh Đô, bị voi quân ta giày đạp, chết hàng loạt. Tôn Sĩ Nghị nghe tin cấp báo thì bàng hoàng mất vía, thật là "tướng từ trên trời rơi xuống, quân chui dưới đất lên". Sợ mất mật, Tôn Sĩ Nghị vội vã bỏ trốn. Quân sĩ nghe tin thì hoảng hốt tranh nhau qua cầu, xỏ đấy nhau rơi xuống nước mà chết. Khi cầu gãy, quân lính rơi xuống sông làm nước sông Nhị Hà bị tẩc nghẽn, về phần vua Lê, đang mải mê yến tiệc, nghe tin liền chạy trốn. Trời nhá nhem tối thì đến kịp chỗ của Tôn Sĩ Nghị. Trưa mùng năm Tết Kỉ Dậu, Quang Trung cùng đoàn quân, tiến thẳng vào Thăng Long giữa muôn ngàn tiếng reo hò của nhân dân.