Trái với suy nghĩ thông thường về việc quân Tây Sơn bỏ trống Thăng Long, Ngô Văn Sở vẫn để lại một lực lượng chặn hậu với quân số chừng một hai nghìn người. Một trong những chỉ huy lực lượng này là Trấn thủ Hưng Hóa của Tây Sơn. Chúng ta không biết tên ông là gì. Trận chiến Thăng Long nhằm mục tiêu mua thời gian để chủ lực của Ngô Văn Sở rút lui.
Để ngăn chặn quân địch vượt sông, phía Tây Sơn đã cho đưa hết thuyền ghe của dân chúng về bờ Nam sông Hồng. Tre nứa ven sông cũng bị chặt sạch. Quân Tây Sơn bày trận địa pháo ở ven sông, đồng thời cho binh thuyền lớn nhỏ dàn bày ở giữa sông. Sáng sớm ngày 19 tháng Mười Một, tiền đội quân Thanh tiến tới bờ Bắc sông Hồng. Các thuyền này đón quân Thanh bằng một loạt đại bác. Quân Thanh phải nháo nhào đi trú sau các bức tường đổ ở bờ bắc.
Tôn Sĩ Nghị quan sát quân Tây Sơn, trông thấy thế trận đối phương không nghiêm chỉnh. Ông ta hạ quyết tâm đánh thử. Tôn Sĩ Nghị sai tìm kiếm thuyền của nông dân và làm được mấy chiếc bè tre. Số thuyền bè này chở được chừng 100 quân Thanh. Tôn Sĩ Nghị liền tung quân ra giao chiến với quân Tây Sơn trên mặt sông Hồng.
Quân Tây Sơn đón địch bằng loạt pháo binh và súng tay. Nhưng quân Thanh vẫn đưa thuyền bè tiến lên. Sau một trận giao tranh ngắn, quân Thanh đoạt được một chiếc thuyền của Tây Sơn. Quân Tây Sơn thu thuyền về bờ Nam, rồi lại tiến lên. Trong ngày 19 tháng Mười Một, hai bên giao chiến năm sáu hiệp. Quân Thanh rút lui về bờ bắc, quân Tây Sơn vẫn giữ bờ Nam.
Tôn Sĩ Nghị ở trên bờ quan sát thế trận. Ông ta biết quân Tây Sơn không có lòng quyết chiến. Nhưng ông ta không thể nào tìm ra được thuyền, cũng không còn tre nứa để làm bè cho đại quân vượt sông. Số thuyền bè hiện có chỉ đủ chở 200 quân. Mặc dù vậy, Tôn Sĩ Nghị vẫn kiên quyết hạ lệnh vượt sông. Canh năm (khoảng 3 đến 5 giờ sáng) rạng ngày 20, Đề đốc Hứa Thế Hanh cùng các Tổng binh Trương Triều Long, Thượng Duy Thăng, Phó tướng Tôn Khánh Thành, Tham tướng Dương Hưng Long, Du kích Trương Thuần chỉ huy 200 quân lặng lẽ qua sông.
Quân Tây Sơn nổ pháo bắn chặn. Nhưng quân Thanh vẫn tiến lên. Khi quân Thanh đổ bộ lên bờ, quân Tây Sơn bắt đầu rút lui bằng hai đường thủy và bộ. Quân Thanh cướp được hơn 30 thuyền nhỏ. Họ dùng số thuyền đó trở về bờ Bắc, chở thêm hơn 2000 quân qua sông.
Cuộc giao tranh diễn ra đến lúc trời sáng. Ở trên sông vẫn còn 10 chiếc thuyền của Tây Sơn với chừng 400 quân. Đến lúc này họ mới xuôi dòng rút lui. Du kích nhà Thanh là Trương Thuần liền đưa hơn 30 thuyền nhỏ ra chặn đánh. Quân Tây Sơn thấy thuyền của mình lớn hơn, nên dừng lại nghênh chiến. Quân Thanh dùng súng và pháo công kích. Thuyền nhỏ của quân Thanh vây chặt, ném hỏa cầu. Tám chiếc thuyền Tây Sơn bị đốt cháy chìm xuống sông. Hai chiếc chưa chìm bị quân Thanh kéo vào bờ. Người trên thuyền đều đã trúng đạn hy sinh. Tôn Sĩ Nghị xem các ấn triện bắt được trên thuyền mới biết đó là của các viên Trấn thủ Hưng Hóa, Long Phổ hầu và Chỉ huy Cao Thái của Tây Sơn.
Quân Tây Sơn đã rút lui hoàn toàn. Sau này, Tôn Sĩ Nghị tâu về rằng: “Tông thất họ Lê và trăm họ đều ra khỏi thành quì đón, Lê thành không tấn công mà tự phá”. Tôn Sĩ Nghị cùng với Đề đốc Hứa Thế Hanh và một số tướng tá khác mặc trang bị nhẹ, cưỡi ngựa đi vào thành. Tới đường lớn, Tôn Sĩ Nghị sai dán cáo thị phủ dụ an dân. Xong rồi, cả bọn lại trở về doanh trại. Nhưng lúc này vẫn chưa thấy bóng dáng Chiêu Thống đâu cả.
Cùng trong ngày 20, cánh quân Vân Nam của Tổng đốc Vân Quý là Phú Cương mới bắt đầu xuất phát, tiến vào nước ta theo ngả Tuyên Quang. Phú Cương ra tay quá muộn. Ông ta đã thua Tôn Sĩ Nghị trong cuộc chạy đua. Nhưng đó là xui xẻo hay là may mắn?
Sau này Tôn Sĩ Nghị tâu về cho vua Càn Long rằng phải đến canh hai đêm 20 tháng Mười Một, sau khi đã thu phục Thăng Long, Lê Chiêu Thống mới xuất hiện ở quân doanh của Tôn Sĩ Nghị. Mặc dù vậy, di thần của Chiêu Thống là Lê Quýnh lại nói rằng Chiêu Thống đã yết kiến Tôn Sĩ Nghị ở phía Bắc sông Hồng một ngày trước khi quân Thanh chiếm lại Thăng Long. Ai mới là người nói đúng sự thật? Chúng ta không biết.
Tôn Sĩ Nghị mô tả một hình ảnh Chiêu Thống hèn yếu “phục xuống đất khóc lóc, không sao dứt được”. Tôn Sĩ Nghị bèn tuyên bố ơn nghĩa của thiên triều đã có lòng đem quân sang giúp đỡ. Chiêu Thống liền xin Tôn Sĩ Nghị trao cho mình hịch văn để gửi đi chiêu dụ các trấn.
Trước khi vào cõi, vua tôi Càn Long đã dự trù chuyện sắc phong Chiêu Thống làm An Nam quốc vương để chính danh phận. Về vấn đề này, Chiêu Thống chọn ngày 22 tháng Mười Một làm ngày thụ phong.
Ở Phú Xuân, Bình vương Nguyễn Huệ đã nhận được tin quân Thanh vào cõi như thế nào? Chúng ta không chắc. Tiểu thuyết Hoàng Lê nhất thống chí bảo rằng ngày 20 tháng Mười Một, Ngô Văn Sở lui quân về Tam Điệp dựng phòng tuyến. Bốn ngày sau, Đô đốc Tuyết đã về tới Phú Xuân báo tin. Bình vương muốn xuất quân ngay, nhưng mọi người lại khuyên ông “trước tiên chính vị hiệu, ban bố việc khoan xá, để yên lũ phản trắc, mà ràng buộc lòng người”. Nhưng chính tờ chiếu lên ngôi do Ngô Thì Nhậm soạn lại đề thời gian lên ngôi là hai ngày trước khi Đô đốc Tuyết về tới Phú Xuân. Còn lá thư của giáo sĩ La Bartette thì lại nói Nguyễn Huệ đã ấn định ngày lên ngôi là ngày 11 tháng Mười âm lịch – tức là trước khi Tôn Sĩ Nghị kéo quân vào nước ta.
Điều chúng ta có thể biết được là Bình vương đã đón nhận tin tức đó với một thái độ bình tĩnh. Từ khi có tin quân Thanh vào nước ta, Bình vương đã tuyên bố sẽ đánh bại bọn họ. Lê quý kỷ sự chép rằng khi tin tức bại trận của Phan Văn Lân bay về Phú Xuân, người ta nói về thanh thế của quân Thanh một cách to lớn. Bình vương cười và bảo:
– Chó Ngô là cái thá gì? Chúng đến đây chỉ để tự đi đến chỗ chết. Việc gì mà phải cuống quýt làm vậy? Ta hãy làm lễ tấn tôn trọng thể đã.
Nói rồi, Bình vương chọn ngày cùng binh sĩ tế cáo trời đất ở đàn Nam Giao trên núi Bân. Tờ chiếu lên ngôi của Ngô Thì Nhậm nói ngày đó là ngày 22 tháng Mười Một năm Mậu Thân.
Cùng ngày hôm đó, tại Thăng Long, Tôn Sĩ Nghị tuyên chiếu của vua Càn Long, công nhận Lê Chiêu Thống là An Nam quốc vương. Lê Chiêu Thống soạn biểu tạ ơn dâng lên cho Tôn Sĩ Nghị. Chiêu Thống hứa rằng khi nào đất nước ổn định sẽ sang Thanh đích thân khấu đầu cảm tạ vua Càn Long. Tôn Sĩ Nghị dự kiến chuyến đi này sẽ tiến hành vào năm Canh Tuất, Càn Long thứ 55 [1790]. Đó là năm kỷ niệm sinh nhật lần thứ 80 của vua Càn Long – tức Bát Tuần Vạn Thọ thịnh điển. Trong lúc đó thì Nguyễn Huệ – lúc này đã là hoàng đế Quang Trung – đưa quân đội từ đàn Nam Giao tiến thẳng ra Bắc.
Sơn hà bị rạch đôi. Trịnh và Nguyễn mỗi bên giữ một mảnh non sông. Trong cuộc chiến nhằm nhất thống thiên hạ này, bạn sẽ chọn ai làm chân chúa?