Chiến tranh Tống–Việt lần thứ hai

Chiến tranh Tống–Việt lần thứ hai diễn ra từ năm 1075 đến năm 1077 là cuộc chiến tranh giữa nhà Lý nước Đại Việt và nhà Tống của Trung Quốc. Giai đoạn đầu, trong các năm 1075-1076, tướng nhà Lý là Lý Thường Kiệt đã chủ động đánh phủ đầu sang đất Tống với 10 vạn quân, phá thành Ung Châu. Giai đoạn sau, trong các năm 1076-1077, quân Lý rút về phòng thủ chống lại cuộc phản công của đại quân Tống do Quách Quỳ chỉ huy với 300.000 người, gồm binh lính và dân phu. Cuộc chiến rơi vào bế tắc, cuối cùng hai bên đàm phán, quân Tống rút ra khỏi lãnh thổ Đại Việt.
Hoàn cảnh lịch sử.
Năm 1009, Lý Công Uẩn lập ra nhà Lý. Năm 1010, Lý Công Uẩn dời đô từ Hoa Lư về thành Đại La và đổi tên thành Đại La là Thăng Long. Để củng cố khu vực biên giới phía bắc, nhà Lý dùng chính sách gả công chúa cho các thủ lĩnh dân tộc ít người, chủ yếu là người dân tộc Tày ở miền núi để xây dựng và gắn chặt mối quan hệ với họ. Trải qua 4 triều vua Lý Thái Tổ, Lý Thái Tông, Lý Thánh Tông và Lý Nhân Tông, nước Đại Việt phát triển ổn định và vững mạnh.
Ở phương bắc, nhà Tống từ khi thành lập (năm 960) đã phải khắc phục những hậu quả do thời kỳ chia cắt Ngũ Đại Thập Quốc để lại. Ngoài việc đánh dẹp các nước cát cứ, nhà Tống phải đối phó với nước Liêu lớn mạnh ở phương bắc - quốc gia của người Khiết Đan được vua nhà Hậu Tấn cắt cho 16 châu Yên Vân ở phía bắc từ năm 936 nên lãnh thổ bành trướng nhiều về phía Trung Quốc và thường nhân đó can thiệp vào Trung Nguyên. Đến thời Tống Thái Tông, dù dẹp hết các nước trong "Thập quốc" nhưng nguy cơ uy hiếp từ phía nhà Liêu vẫn luôn tiềm ẩn với nhà Tống.
Sang thời Tống Nhân Tông, nhà Tống lại bị thêm sự uy hiếp của nước Tây Hạ của người Đảng Hạng phía tây bắc mới nổi. Nhà Tống phải cống nộp nhiều của cải và bị mất nhiều phần lãnh thổ cho Liêu và Tây Hạ. Trong nước, triều Tống bị rối loạn bởi những cải cách của Vương An Thạch. Chủ trương tiến đánh các nước phía nam Trung Quốc để giải tỏa các căng thẳng trở thành một chiến lược của nhà Tống.
Biên giới Tống-Việt trước cuộc chiến.
Từ thời Lý Thái Tông, nhà Lý đã nhân cuộc đánh phá biên giới nhà Tống của thủ lĩnh người Tày là Nùng Trí Cao mà bành trướng ngầm lãnh thổ của mình bằng cách xúi người dân tộc Tày ở biên giới lấn đất và sinh sự trong một thời gian khá dài.
Tri châu Tiêu Chú ở Ung Châu đã có lần dâng sớ về triều xin đánh Đại Việt kẻo sau có đại họa. Nhưng Tiêu Chú bị bãi chức. Khi Vương An Thạch lên cầm quyền, Tiêu Chú được phục chức vì ông là người am hiểu mọi vấn đề Đại Việt đang nằm trong kế hoạch mở rộng xuống phương nam của Vương An Thạch. Đánh Đại Việt không chỉ để khuếch trương về phương nam mà còn lấy khí thế để mở rộng cương vực cho Trung Nguyên về phương bắc trước Liêu và Tây Hạ.
Năm 1060, quan Lạng châu mục là Thân Thiệu Thái đem binh vào huyện Nhử Ngao ở châu Tây Bình thuộc địa giới nhà Tống để bắt người bỏ trốn. Ông Thái bắt sống được toàn bộ nhóm ấy nhưng có lẫn cả Dương Lữ Tài (là một viên quan nhà Tống) và nhiều trâu, ngựa. Nhà Tống sai quan Lại bộ thị lang là Dư Tĩnh đến Ung Châu thảo luận về việc ấy. Lý Thánh Tông lại sai Bùi Gia Hựu tới Ung Châu bàn nghị. Dư Tĩnh đem nhiều của đút lót Bùi Gia Hựu và gửi thư cho Hựu mang về, xin vua Lý trả lại Dương Lữ Tài nhưng không được.
Vua Tống nén giận, giữ tình hòa hảo nhưng vẫn đợi dịp thuận tiện để xâm lăng Đại Việt mà từ lâu Tống coi như kẻ thù trong suốt mười năm. Tiêu Chú sau khi được phục hồi liền tới Quế Châu giao dịch với các tù trưởng từ đạo Đặc Ma đến châu Điền Đống, được biết lúc này triều Lý thắng Chiêm Thành, thu phục thêm được 3 châu của người Chiêm, dân sinh quốc kế rất thịnh đạt.
Chủ trương đánh Đại Việt của Tống.
Từ năm 1070, Vương An Thạch chú ý đến phương nam và muốn lập công ở ngoài biên, tâu lên vua Tống rằng: 
Vua Tống hỏi ý Tiêu Chú nhưng Tiêu Chú không tán thành cuộc nam chinh. Trái lại, Binh bộ thị lang Thẩm Khởi lại rất đồng tình đánh Đại Việt. Vua Tống liền phái Thẩm Khởi thay Tiêu Chú làm Quảng Tây kinh lược sứ năm 1073 lo việc xuất quân.
Việc thứ nhất của Thẩm Khởi là đặt các doanh trại, sửa đường tiếp tế. Việc thứ hai là phủ dụ 52 động thuộc Ung Châu sung công các thuyền chở muối để tập thủy chiến. Sợ Đại Việt biết, ông cấm hẳn mọi việc buôn bán, giao dịch giữa các biên dân Việt-Tống.
Các tù trưởng nằm trong kế hoạch phủ dụ của Thẩm Khởi là Lưu Kỷ ở Quảng Nguyên, Nùng Thiện Mỹ ở Bắc Kạn, giáp Thất Khê hưởng ứng. Theo Nguyễn Văn Tố, họ Thẩm chứa chấp Nùng Thiện Mỹ và việc này đã đến tai người Việt. Công việc đang tiến triển thì tháng 3 năm 1074, Chuyển vận sứ Quảng Tây tỏ ý phản đối Thẩm Khởi về các hoạt động kể trên. Thêm nữa, Thẩm Khởi đã sai lầm trong nhiều việc nên bị đổi đi Đàm Châu và chính Vương An Thạch cũng không tin rằng Thẩm giải quyết nổi vấn đề Đại Việt. Bấy giờ vua Tống trách Thẩm Khởi vì tội tự tiện nhận bọn Nùng Thiện Mỹ mà không hỏi, cũng không đồng ý cho Lưu Kỷ nhập Tống vì sợ nhà Lý giành lại.
Lưu Di thay Thẩm Khởi, được lệnh tăng cường binh lực, tiếp tục điểm dân, tích lương, đóng chiến thuyền, luyện tập thủy binh. Cũng như Thẩm Khởi, Lưu Di còn cấm người Đại Việt sang đất Tống buôn bán vì sợ bị do thám.
Đặc biệt, nhà Tống đã biến Ung Châu thành một căn cứ xuất phát để đánh Đại Việt và giao cho Tô Giám, một viên tướng dày dặn kinh nghiệm trong cuộc chiến chống Nùng Trí Cao trước đây chỉ huy căn cứ này.
Mọi sự chuẩn bị để chinh phạt của nhà Tống đều được cố gắng giữ bí mật. Hoàng đế Tống nhắc nhở: "Nghe Giao Chỉ sai nhiều kẻ gian tới thám Lưỡng Quảng. Vậy các chỉ huy, các tướng phải coi chừng. Đừng để nó dò được phép công, thủ, tiến thoái của ta."
Đại Việt đánh đòn phủ đầu.
Năm 1072, vua Lý Thánh Tông qua đời, thái tử Càn Đức mới 7 tuổi lên thay, tức là vua Lý Nhân Tông. Thái phi Ỷ Lan làm nhiếp chính, được sự phò tá của các đại thần Lý Thường Kiệt, Lý Đạo Thành nên tình hình quốc gia vẫn khá ổn định.
Tuy Tống cố gắng giữ bí mật, nhưng Đại Việt đã "bắt bài" được ý đồ của nhà Tống. Đặc biệt, năm 1073, một tiến sĩ người nước Tống là Từ Bá Tường, ông này tuy học giỏi, đỗ đạt nhưng do không có tiền đút lót nên không được trọng dụng đã nảy sinh tâm lí bất mãn, nên đã thông báo với nhà Lý:
Thái úy Đại Việt là Lý Thường Kiệt chủ trương thực hiện một chiến lược đánh đòn phủ đầu nên quyết định tập trung quân bắc tiến. Thời nhà Lý, giúp vua trị nước là 2 ban: ban Văn và ban Võ. Ban Văn phụ trách các mảng: giáo dục, thi cử, văn hóa, kinh tế, chính trị. Còn ban Võ thì chịu trách nhiệm về mảng quốc phòng và an ninh. Người đứng đầu ban Võ là Thái úy, tương đương với chức Bộ trưởng Bộ quốc phòng và Bộ trưởng Bộ Công an ngày nay.
Năm 1073, Lý Thường Kiệt đã tập trung nhiều quân lính và vũ khí, lương thực, xe, ngựa, thuyền ở biên giới.
Năm 1074, vua Tống được tin nhà Lý tụ binh, báo gấp cho Tô Giám, dặn rằng nếu Đại Việt tấn công Ung Châu thì phải kiểm quân cố thủ, không được khinh địch. Đại Việt tính rằng quân Tống có vào Đại Việt tất phải qua Ung Châu theo đường bộ và qua các cửa biển Khâm Châu và Liêm Châu theo đường thủy nên họ quyết tâm phá trước các cứ điểm này của người Tống.
Đại Việt đã huy động hơn 10 vạn quân sang đánh phá căn cứ Ung Châu của Tống, bao gồm cả lực lượng chính quy của triều đình lẫn dân quân địa phương của các thủ lĩnh dân tộc thiểu số miền núi phía Bắc. Đạo quân của triều đình ở phía Đông do đích thân Thái úy Lý Thường Kiệt chỉ huy, gồm cả thủy quân xuất phát từ Móng Cái bằng thuyền độc mộc tiến vào đất Tống trong đêm tối nhằm tới châu Khâm. Còn đạo quân của các thủ lĩnh dân tộc thiểu số ở phía Tây đặt dưới sự chỉ huy của Tôn Đản chia làm 4 mũi tiến vào đất Tống: Lưu Kỷ từ Quảng Nguyên (Cao Bằng), Hoàng Kim Mãn từ Môn Châu (Đông Khê - Cao Bằng), Thân Cảnh Phúc từ Quang Lang (Lạng Sơn) và Vi Thủ An từ Tô Mậu (Quảng Ninh) nhắm tới châu Ung. Đạo quân phía Tây sẽ "dương Tây" để đạo quân phía Đông bất ngờ "kích Đông".
Trận châu Khâm-châu Liêm.
Ngày 27 tháng 10 năm 1075, Vi Thủ An dẫn 700 quân từ Tô Mậu vào đánh Cổ Vạn, chiếm được trại Cổ Vạn. Tin tức đến tận ngày 21 tháng 12 mới tới được triều đình nhà Tống. Tiếp theo, các mũi quân phía Tây lần lượt đánh chiếm trại Vĩnh Bình, Thái Bình, các châu Tây Bình, châu Lộc, trại Hoành Sơn.
Quân Tống bị thu hút vào phía Tây, nên lơ là phía Đông. Khi đạo quân phía Đông của Đại Việt tập kích, quân Tống đã không chống đỡ nổi. Ngày 30 tháng 12 năm 1075, châu Khâm bị chiếm. Ngày 2 tháng 1 năm 1076, châu Liêm thất thủ. Sau đó, Lý Thường Kiệt dẫn quân đến châu Ung cùng đạo quân phía Tây quyết tâm hạ thành châu Ung.
Trận thành Ung Châu.
Từ ngày 10 tháng 12 năm 1075, cánh quân đầu tiên do Tông Đản chỉ huy đã kéo đến Ung Châu. Cánh quân chiếm được Khâm Châu tiến lên Ung Châu. Cánh chiếm được Liêm Châu tiến sang miền Đông Bắc chiếm châu Bạch. Ngày 18 tháng 1 năm 1076, đạo quân của Lý Thường Kiệt cũng tới thành Ung châu.
Tướng giữ thành là Tô Giám chỉ có 2.800 quân, thấy thế quân Đại Việt mạnh nên đã áp dụng triệt để chính sách cố thủ để chờ viện quân.
Một lực lượng cứu viện của Tống do Trương Thủ Tiết chỉ huy đã đi vòng theo đường Quý Châu tới Tân Châu rồi đến giữ ải Côn Lôn giữa châu Tân và châu Ung. Đến cách Ung 40 km thì lực lượng bị Lý Thường Kiệt cho quân đón đánh. Trương Thủ Tiết, Nguyên Dụ, Trương Biện, Hứa Dự, Vương Trấn là các chỉ huy của lực lượng viện binh nhà Tống đều bị giết tại trận. Việc này vào ngày 4 tháng Giêng âm lịch (tức 11 tháng 2 năm 1076).
Thành Ung kiên cố lại có Tô Giám là tướng giỏi, nên quân Đại Việt đánh phá hơn 40 ngày không hạ được. Sau, quân Đại Việt bắt dân Tống, sai lấy túi đất đắp vào chân thành để leo lên đánh. Ngày 1 tháng 3 năm 1076, sau 42 ngày kiên cường kháng cự thành Ung thất thủ. Tô Giám tự sát. Quân Đại Việt giết hết quân và dân trong thành, tổng cộng khoảng hơn 5 vạn người. Theo Tống sử: "Cứ 100 thây chất làm một đống, cả thảy 580 đống". Quân Đại Việt tổn thất khoảng 1 vạn người. Lý Thường Kiệt ra lệnh tiêu hủy thành lũy, phá kho tàng dự trữ trong vùng Tả Giang và lấy đá lấp sông chặn đường cứu viện của quân Tống.
Đại Việt rút quân.
Việc nhà Lý đánh các châu Liêm, Khâm và Ung đã thành công, tiêu diệt khoảng 7-10 vạn quân và dân nhà Tống, và bắt được hàng ngàn người Trung Quốc đem về Đại Việt làm nô lệ cùng với rất nhiều của cải (vàng, bạc, lụa, vũ khí...). Sau khi hoàn thành được mục tiêu phá hủy toàn bộ các căn cứ hậu cần của đối phương, quan quân nhà Lý rút về nước.
Quân Tống sang đánh Đại Việt.
Lực lượng của Tống.
Ngay từ tháng 11 âm lịch năm 1075, sau khi Đại Việt công hãm Khâm Châu và Liêm Châu, Tống Thần Tông đã phong cho Thiên Chương các đãi chế Triệu Tiết làm An Nam đạo chiêu thảo sứ, Gia Châu phòng ngự sử Lý Hiến làm phó để chinh phạt Đại Việt. Tuy nhiên, Triệu Tiết và Lý Hiến nghị bàn không hợp.
8 ngày sau khi thành Ung bị triệt phá, tức ngày 9 tháng 2 năm 1076, Tống Thần Tông ra chiếu đánh Đại Việt. Tống sử chép là sau 13 ngày.
Mục tiêu của Tống Thần Tông và Vương An Thạch không chỉ nhằm phục thù mà vẫn chính là mục tiêu ban đầu việc ra quân đánh vào lãnh thổ Đại Việt: gây nhuệ khí cho chiến trường tây bắc với Tây Hạ và tạo uy thế với nước Liêu:
Lực lượng đánh Đại Việt bao gồm khoảng 10 vạn quân, đặt dưới sự chỉ huy của Tuyên Huy nam viện sử Quách Quỳ (chức là An Nam đạo chiêu thảo sứ) và Triệu Tiết là phó tướng, bãi chức của Lý Hiến. Quân Tống gồm 2 thành phần, có 4, 5 vạn quân là binh sĩ có kinh nghiệm chiến đấu từng chiến đấu với quân Liêu, Hạ; còn lại hơn 5 vạn quân là lính mới tuyển mộ ở các lộ Hà Bắc, Kinh Đông và quân mộ thêm trên đường hành binh từ kinh đô tới Ung Châu, cùng với quân khe động vùng biên giới. Bên cạnh 10 vạn quân chiến đấu, quân Tống còn có 20 vạn phu dịch và 1 vạn ngựa.
Do phải chuẩn bị lương thực, thuốc men cũng như tuyển mộ quân lính và các vấn đề khác, mãi tới đầu năm 1077, quân Tống mới xuất phát được. Một đạo quân Tống trên bộ do đích thân Quách Quỳ chỉ huy xuất phát từ châu Ung tiến vào vùng Đông Bắc Đại Việt. Một đạo quân thủy do Dương Tùng Tiên chỉ huy xuất phát từ châu Lôi đi men bờ biển và tiến vào cửa sông Bạch Đằng.
Lực lượng của Đại Việt.
Sau chiến dịch đánh đòn phủ đầu thành công và rút quân về nước, Đại Việt chuẩn bị để đối phó với quân Tống sang đánh. Gián điệp Đại Việt đội lốt sư sãi dùng giấy tờ tu hành thu được ở Khâm, Liêm. Biết được, hoàng đế Tống ra lệnh cho lộ Quảng Tây đình việc cấp bằng cho các sư.
Phía Đại Việt chuẩn bị lực lượng đánh gồm đánh chặn từ xa và tuyến phòng thủ sâu. Tướng Lý Kế Nguyên chịu trách nhiệm đánh đạo thủy quân của Tống. Còn Lý Thường Kiệt là tổng chỉ huy chung và trực tiếp chỉ huy đánh đạo quân bộ của đối phương. Để ngăn đạo lục quân Tống, Đại Việt bố trí hai tuyến phòng thủ - một ngay biên giới do các lực lượng của những thủ lĩnh dân tộc thiểu số chỉ huy và một ở bờ Nam sông Như Nguyệt (sông Cầu). Tuyến phòng thủ bờ Nam sông Như Nguyệt kéo dài khoảng 30 km suốt từ chân dãy núi Tam Đảo ngã ba sông Cà Lồ-sông Cầu tới Vạn Xuân (Phả Lại) lợi dụng các địa hình tự nhiên như bãi lầy, gò cao và cả các chiến lũy bằng đất, gỗ, rào tre.
Các trận đánh đầu tiên của nhà Tống.
Ngày 8 tháng 1 năm 1077, Quách Quỳ và Triệu Tiết (趙禼) dẫn quân vượt qua ải Nam Quan tiến vào vùng Lạng Sơn ngày nay và đánh xuống phía kinh đô Thăng Long. Ngay từ đầu, quân Tống đã gặp phải sự chống cự hết sức mạnh mẽ của thổ binh do Thân Cảnh Phúc chỉ huy. Tiến công được vài chục dặm, quân Tống buộc phải tổ chức đột phá ải Quyết Lý. Tại đây Thân Cảnh Phúc đã bố trí mấy ngàn quân có cả voi chiến, để cố thủ cửa ải. Tư Kỷ chỉ huy đội tiền quân Tống cố sức công kích nhưng đều bị đẩy lùi. Quân Đại Việt dựa vào thế đất hiểm, có tổ chức phòng ngự vững chắc, đánh trả hết sức quyết liệt. Quách Quỳ buộc phải cử tướng Thế Cư chỉ huy một đạo tinh binh lên ứng chiến. Thấy cầm cự lâu không có lợi, Thân Cảnh Phúc đã chủ động lui quân về tuyến sau cố thủ cửa ải Chi Lăng. Biết ải Chi Lăng không những là đất hiểm mà còn được xây đắp kiên cố. Quân Tống cho một đội tiền quân tiến công vào chính diện. Còn hai đạo quân mạnh do Yên Đạt và Thế Cự chỉ huy đi vòng qua phía tây núi Cai Kinh, theo đường đất đánh bọc vào sau Chi Lăng, tạo nên thế hai mặt trước sau cùng đánh. Từ trên thành lũy và trên sườn núi cao, quân Đại Việt dùng nỏ và máy bắn đá bắn dữ dội vào đội hình xung phong của quân Tống, đồng thời tượng binh xông ra phản kích. Quân Tống bị thương vong rất nhiều. Nhưng lực lượng chênh lệch rất lớn, lợi dụng đêm tối Thân Cảnh Phúc đã chỉ huy quân rút theo đường tắt, lui về phòng giữ căn cứ Động Giáp, chuyển sang đánh du kích phía sau lưng quân Tống.
Trong lúc đại quân của Quách Quỳ đang tiến công sang, thì đạo quân do Nhâm Khởi chỉ huy từ Vĩnh An đánh ngược lên Tô Mậu. Vị thủ lĩnh trấn giữ tại đây, chống cự không nổi, đầu hàng quân Tống. Nhâm Khởi cho quân theo hữu ngạn sông Lục Nam đánh xuống núi Nham Biền để trực tiếp bảo vệ sườn cánh trái của đạo quân Quách Quỳ. Đạo hữu quân do Khúc Trân chỉ huy, từ Quảng Nguyên đánh xuống Môn Châu. Hoàng Kim Mãn trấn giữ châu này đầu hàng quân Tống, thành Môn Châu nhanh chóng bị mất.
Đạo quân của phó tướng Triệu Tiết là một lực lượng đột kích chiến lược trên hướng thứ yếu, có sự yểm trợ trực tiếp của hữu quân Khúc Trân phía sườn phải, nhanh chóng vượt biên giới xuống Bình Gia, Vạn Nhai. Tại những nơi này quân Đại Việt chỉ có những lực lượng nhỏ án ngữ bởi thế Triệu Tiết nhanh chóng vượt qua, tiến thẳng xuống Nhã Nam và bến Như Nguyệt.
Trận thủy chiến Đông Kênh.
Đạo thủy quân Tống do Dương Tùng Tiên chỉ huy, khoảng 5-6 vạn cùng vài trăm chiến thuyền loại lớn tiến vào hải phận Đại Việt để phối hợp với đạo quân của Quách Quỳ theo kế hoạch đã định trước. Đạo quân này tiến theo đội hình hàng dọc. Đi đầu là đội quân với nhiệm vụ trinh sát, sau đó đến trung quân, hậu quân là đoàn thuyền lương. Quân của Dương Tùng Tiên không phát hiện được quân Đại Việt mai phục ở sông Đông Kênh, nên đã lệnh cho toàn quân tiến gấp vào sông Bạch Đằng. Khi hạm đội Tống đã lọt vào trận địa mai phục, Lý Kế Nguyên phát lệnh tiến công. Bị đánh bất ngờ, quân Tống thua to, dù hạm đội của họ tuy lớn, có nhiều thuyền chiến nhưng chỉ là loại thương thuyền nặng nề cơ động chậm, thủy binh là quân ô hợp. Thủy binh của Đại Việt là những chiến binh thiện chiến, dùng thuyền nhỏ nhẹ, cơ động, lại dựa vào thế hiểm để lập thành thế trận mai phục dài tới vài chục dặm. Các thủy đội của họ đều dựa vào hải đảo hoặc cửa sông để triển khai lực lượng.
Trong các trận giao chiến với Đại Việt, quân Tống đều thua lớn. Hơn trăm chiến thuyền bị đánh chìm, hàng vạn quân bị giết và bị bắt. Dương Tùng Tiên phải ra lệnh cho các chiến thuyền còn lại chạy về phía đông để tránh bị tiêu dệt hoàn toàn. Phải mấy ngày sau họ mới tập hợp được số chiến thuyền còn lại về vùng biển Liêm Châu, lập thủy trại cố thủ.
Thắng lợi của trận thủy chiến Đông Kênh đã làm thất bại hoàn toàn kế hợp vòng chiến lược của Quách Quỳ, và đẩy Quách Quỳ, Triệu Tiết vào hoàn cảnh không có phương tiện cho đại quân vượt sông.
Trận sông Như Nguyệt.
Ngày 18 tháng 1, quân Tống tới bờ bắc sông Như Nguyệt, đối diện với tuyến phòng thủ chủ lực của quân Đại Việt. Quân Tống không đánh ngay mà đợi đạo thủy quân tới để hợp đồng tác chiến vượt sông. Trong khi chờ, đại quân Tống chia làm hai cánh. Cánh phía Tây do Triệu Tiết chỉ huy đóng tập trung ở vùng nay là Hiệp Hòa. Cánh phía Đông do Quách Quỳ chỉ huy đóng tập trung ở vùng nay có thể là thành phố Bắc Ninh. Ở giữa hai điểm tập trung trên, quân Tống còn chiếm một số vị trí là các gò cao.
Chờ thủy quân không thấy, lục quân Tống quyết định tấn công. Quân Tống đã tổ chức 2 đợt tấn công lớn. Đợt thứ nhất đã chọc thủng được phòng tuyến của Đại Việt. Nhưng do tiến quân quá nhanh, lực lượng Tống thâm nhập khoảng 1.000-2.000 quân trở nên đơn độc và khi tiến đến vùng Sóc Sơn ngày nay thì bị quân Đại Việt vây đánh phải rút lui, chịu tốn thất khoảng 1.000 người. Đợt thứ hai, quân Tống đóng bè lớn để đưa quân sang bờ Nam sông Như Nguyệt, nhưng đợt nào sang cũng bị tiêu diệt gần hết. Quân Tống, sau 2 đợt tấn công thất bại đành tiếp tục đợi thủy quân đến.
Sau 2 tháng, thấy quân Tống có dấu hiệu mệt mỏi, quân Đại Việt phản công. Ban đầu, quân Đại Việt tổ chức tấn công vào cánh của Quách Quỳ, song đã chịu thất bại. Hai quý tộc nhà Lý là Hoằng Chân và Chiêu Văn chỉ huy đợt tấn công này đều thiệt mạng. Sau thất bại này và nhận thấy quân Tống đang tập trung chú ý vào mặt trận phía Đông, quân Đại Việt liền tổ chức vượt sông đánh bất ngờ vào cánh quân phía Tây của Triệu Tiết. Trận này, quân Đại Việt thắng lớn. Trong khi quân Tống rối loạn vì cánh phía Tây bị tập kích, quân Đại Việt tiếp tục đổ bộ đánh vào cánh quân phía Đông.
Giảng hòa.
Sau khi giành được thắng lợi quân sự tại phòng tuyến Như Nguyệt, Đại Việt chủ động nghị hòa với quân Tống. Sứ thần Kiều Văn Ứng cho Quách Quỳ biết là vua Lý sẽ sai sứ sang xin tạ tội vì đã kéo quân đánh Khâm Châu và Liêm Châu và xin tiếp tục nộp cống. Ông cũng bào chữa việc đánh Tống trước là do Từ Bá Tường xúi giục. Tống sử chép rằng phía quân Tống "số quân đem đi 10 vạn, phu 20 vạn, nay đã chết mất quá nửa, số còn lại thì ốm đau, lương ăn đã cạn". Tống sử, Quách Quỳ truyện chép rằng: 時兵夫三十萬人，冒暑涉瘴地，死者過半。至是，與賊隔一水不得進，乃班師. ("Thì binh phu tam thập vạn nhân, mạo thử thiệp chướng địa, tử giả quá bán. Chí thị, dữ tặc cách nhất thủy bất đắc tiến, nãi ban sư" nghĩa là "Đem binh phu đi 30 vạn người, gặp phải nắng nóng đất độc, chết quá nửa. Đến nay, lại cách giặc một con sông không thể tiến lên, bèn đem quân về."). Quách Quỳ nhận lời giảng hòa, nhưng nói rằng: "Ta không thể đạp đổ được sào huyệt giặc, bắt được Càn Đức để báo mệnh triều đình. Tại trời vậy! Thôi đành liều một thân ta để cứu hơn 10 vạn nhân mạng". Tuy nhiên, Trình Di và Trình Hạo trong "Nhị Trình di thư" nhận xét rằng: "May được lời giặc nói nhũn, liền nhân đó giảng hòa. Nếu không có lời quy thuận của giặc thì làm thế nào?"
Tháng 3 năm 1077, Quách Quỳ rút quân về nước, quân Tống rút đến đâu, quân Đại Việt theo sau chiếm lại đến đó. Tống sử chép về cuộc rút quân như sau: "Quỳ muốn rút quân về, sợ giặc tập kích bèn bắt quân khởi hành ban đêm, hàng ngũ không được chỉnh tề, tình hình hỗn loạn, giày xéo lên nhau".
Sau khi về nước, khi kiểm binh, trong số 10 vạn lính Tống ban đầu chỉ còn 23.400 lính trở về, 1 vạn ngựa chiến thì còn lại 3.174 con. Số dân phu 20 vạn trở về không được một nửa. Phí tổn chiến tranh được triều Tống tính ra là 5.190.000 lạng vàng. Quách Quỳ bị quy tội vì đã trì hoãn không chịu tiến binh nên bị đổi đi Ngạc Châu, rồi giáng làm tả vệ tướng quân và an trí (quản thúc tại gia) ở Tây Kinh. Triệu Tiết chỉ bị kết tội không lập tức dẹp giặc, giáng làm Trực Long Đồ các, tri Quế Châu.
Năm Mậu Ngọ (1078) Lý Nhân Tông mở cuộc giao hảo với nhà Tống. Sứ thần Đại Việt là Đào Tông Nguyên đưa năm con voi đã thuần sang cống vua Tống và đi đòi lại những châu, huyện ở miền Cao Bằng. Tống triều ưng thuận với điều kiện là quân Lý phải trả lại cho nhà Tống những thường dân Tống ở các châu Khâm, Liêm, Ung bị quân Lý bắt đem về nước làm nô tì trong năm 1075. Thường dân Tống bị bắt hơn ngàn người nhưng quân nhà Lý chỉ trả tất cả là 221 người. Trước khi cho họ về, nhà Lý cho thích vào trán con trai từ 15 tuổi trở lên ba chữ "Thiên tử binh", đàn ông từ 20 tuổi trở lên thích chữ "Đầu Nam Triều" và vào cánh tay trái đàn bà con gái hai chữ "Quan Khách" để làm nhục nhà Tống.