Đánh chiếm Phú Xuân
Tại Bắc Hà, năm 1782, Tĩnh Đô vương Trịnh Sâm chết. Con nhỏ Trịnh Cán được lập. Phe người con lớn là Trịnh Tông (hay Trịnh Khải), làm binh biến giết quan phụ chính là Huy quận công Hoàng Tố Lý (cháu lão tướng Hoàng Ngũ Phúc) đưa Trịnh Tông lên ngôi, tức là Đoan Nam vương (1782-1786).
Một tướng cùng phe với quận Huy là Nguyễn Hữu Chỉnh không hợp tác với Trịnh Tông, bỏ chạy vào nam hàng Tây Sơn và được Nguyễn Nhạc rất tín nhiệm.
Bắc Hà ngày một suy yếu. Kinh thành Thăng Long bị quân kiêu binh - những kẻ có công tôn lập chúa Trịnh - càn quấy, tàn phá. Sau khi đánh bật được Nguyễn Ánh ra khỏi lãnh thổ, Nguyễn Nhạc quyết định đánh chiếm Phú Xuân (đất cũ của chúa Nguyễn). Năm 1786, ông cử Nguyễn Huệ làm tổng chỉ huy đánh ra Bắc.
Về phía Trịnh, năm 1775, sau khi nhận hàng Nguyễn Nhạc, lão tướng Hoàng Ngũ Phúc rút đại quân về Bắc, để lại Phạm Ngô Cầu và Hoàng Đình Thể giữ thành Phú Xuân, sau đó không lâu qua đời.
Nguyễn Huệ lập kế lung lạc chủ tướng Phạm Ngô Cầu. Nguyễn Hữu Chỉnh lại dùng kế ly gián Cầu và phó tướng Hoàng Đình Thể. Quân Tây Sơn bất ngờ đánh úp thành Phú Xuân. Cầu bỏ mặc Thể chết trận, dâng thành hàng Tây Sơn.
Tiến ra Thăng Long
Do sự thuyết phục của Nguyễn Hữu Chỉnh, Nguyễn Huệ quyết định đem quân ra Bắc đánh Thăng Long để diệt họ Trịnh dù chưa được lệnh của vua anh Nguyễn Nhạc.
Với danh nghĩa "Phù Lê diệt Trịnh", Nguyễn Huệ sai Chỉnh làm tiên phong Bắc tiến. Quân Trịnh rệu rã nhanh chóng thua trận, các danh tướng phần nhiều nghe tin Phú Xuân thất thủ đã khiếp sợ, đến khi nghe quân Tây Sơn kéo ra, đa số đã bỏ trốn. Chúa Trịnh không được lòng dân, bỏ thành Thăng Long chạy, bị dân bắt đem nộp Tây Sơn. Trên đường áp giải, Trịnh Tông tự sát.
Nguyễn Huệ vào thành Thăng Long yết kiến vua Lê Hiển Tông. Tuy về danh nghĩa Nguyễn Huệ trao trả quyền chính lại cho vua Lê và nhận phong Nguyên súy Dực chính phù vận Uy quốc công, nhưng trong thực tế, ông nắm toàn bộ quyền chính ở Bắc Hà. Do sự sắp xếp của Nguyễn Hữu Chỉnh, vua Lê Hiển Tông gả công chúa Ngọc Hân cho Nguyễn Huệ.
Tháng 7 năm 1786, vua Lê Hiển Tông qua đời, thọ 70 tuổi. Do ý kiến của công chúa Ngọc Hân thiên về lập hoàng thân Lê Duy Cận (anh của Ngọc Hân), Nguyễn Huệ muốn hoãn lễ đăng quang của Lê Duy Kỳ. Do áp lực của tôn thất nhà Lê đối với Ngọc Hân, Nguyễn Huệ đành thu xếp cho Lê Duy Kỳ lên ngôi vua, đó là vua Lê Chiêu Thống. Ít lâu sau, Nguyễn Huệ đem công chúa Ngọc Hân cùng Nguyễn Nhạc rút quân về Nam.
Dẹp tàn dư chúa Trịnh
Sau khi quân Tây Sơn rút đi, các thế lực của chúa Trịnh từng bỏ trốn khi Tây Sơn kéo ra như Đinh Tích Nhưỡng, Hoàng Phùng Cơ trỗi dậy, lập Trịnh Bồng lên ngôi vương, tức là Án Đô vương, tái lập chính quyền chúa Trịnh.
Vua Lê Chiêu Thống đang muốn chấn hưng nhà Lê bèn mời Nguyễn Hữu Chỉnh đang trấn ở Nghệ An ra dẹp Trịnh Bồng. Chỉnh nhanh chóng đánh tan quân Trịnh, đốt phủ chúa, Trịnh Bồng bỏ đi mất tích. Họ Trịnh mất hẳn, nhưng Nguyễn Hữu Chỉnh lại lộng hành như chúa Trịnh trước kia.