Sau thất bại trong chiến dịch tiến công Việt Bắc (Thu Đông 1947), Pháp tăng cường lực lượng chiếm đóng lâu dài vùng Tây Bắc (Lào Cai, Sơn La, Lai Châu, một phần Hà Giang, Yên Bái, Phú Thọ), nhằm phong toả biên giới Việt - Trung, uy hiếp căn cứ địa Việt Bắc, bảo vệ Thượng Lào, làm bàn đạp lấn chiếm vùng tự do của ta ở lưu vực sông Chảy, sông Lô. Các cứ điểm tạo thành tuyến kéo dài từ biên giới (huyện Hoàng Su Phì - Hà Giang) đến sông Đà, trong đó, phòng tuyến sông Thao dài hơn 200 km kéo từ Yên Binh Xã, Nghĩa Đô, Phố Ràng, Bảo Hà, dọc theo sông Thao qua Dóm, Đại Bục, Đại Phác, Ba Khe, Nghĩa Lộ, nằm trên địa giới hai tiểu khu Lào Cai (3 phân khu: Nghĩa Đô, Bảo Hà, Phố Ràng), Nghĩa Lộ (5 phân khu: Gốc Lu, Đại Phác, Ca Vịnh. Thượng Bằng La, Lai Đồng). Lực lượng địch có 8 đại đội thuộc 2 tiểu đoàn người Thái 1, 2 và một bộ phận Trung đoàn thuộc địa 23 làm lực lượng cơ động.
Đầu năm 1949, phối hợp với Chiến dịch Cao - Bắc - Lạng, quân dân Tây Bắc tiến đánh, bức rút hàng chục cứ điểm ở Lào Cai, Hoàng Su Phì, phá vỡ hai mảng phía bắc và phía nam phòng tuyến sông Thao của địch. Để tiếp tục phát huy thắng lợi về quân sự, mùa xuân 1949, Bộ Tổng tư lệnh và Bộ chỉ huy Liên khu 10 chủ trương mở Chiến dịch Sông Thao nhằm tiêu diệt một phần sinh lực địch, làm tan vỡ khối ngụy binh người Thái, phá vỡ phòng tuyến của Pháp ở Nghĩa Lộ - Bảo Hà - Yên Bình Xã, cô lập địch ở tiểu khu Lào Cai; mở rộng căn cứ Tây Bắc từ sông Thao đến sông Đà; phá thế uy hiếp của địch đối với căn cứ địa Việt Bắc và củng cố bàn đạp tiến sang Thượng Lào. Phương châm tác chiến của chiến dịch là tập trung lực lượng tiêu diệt 1-2 cứ điểm, sau đó đánh quân tiếp viện, ứng cứu; kết hợp tiến công các cứ điểm với phát động nhân dân nổi dậy làm công tác tuyên truyền địch vận, phá tề, phá kinh tế của địch.
Chiến dịch do Bộ chỉ huy Liên khu 10 chỉ huy (Chỉ huy trưởng Lê Trọng Tấn, Chỉ huy phó Cao Văn Khánh). Lực lượng tham gia gồm 5 tiểu đoàn bộ binh (11, 54, 79, 630 và 564); 2 đại đội pháo binh 302, 303 (Tiểu đoàn 410), có 2 khẩu phóng bom, 5 đại đội độc lập thuộc Trung đoàn 115. Ngoài ra, ở vùng địch hậu còn có các lực lượng của Trung đoàn 115 (khu vực Yên Bái), Trung đoàn 165 (khu vực Lao Hà), Trung đoàn 148 (khu vực Sơn La - Lai Châu). Các lực lượng tham gia chiến dịch đều có kinh nghiệm chiến đấu. Tuy nhiên, đa số đã tham gia chiến đấu liên tục từ đầu năm 1949 và được điều động từ xa đến nên chưa có điều kiện bổ sung, củng cố, quân số hao hụt, sức khoẻ bộ đội giảm sút. Địa bàn chiến dịch thuộc hai tỉnh Lào Cai và Nghĩa Lộ, chủ yếu là núi cao, rừng rậm, địa hình bị chia cắt bởi nhiều sông, suối, gây khó khăn cho vận chuyển, cơ động lực lượng. Nhân dân trong vùng chủ yếu là đồng bào dân tộc thiếu số (Tày, Nùng, Mông, Thái, Dao), có một bộ phận bị Pháp lợi dụng chống phá cách mạng.
Bộ chỉ huy dự kiến chia chiến dịch thành 3 đợt: đợt 1 (18-25.5), tập trung lực lượng diệt 4 đồn (Đại Bục, Đại Phác, Dóm, Phục Linh) trong đó tiến công Đại Bục, Đại Phác là trận mở màn chiến dịch; đợt 2 (25-31.5), diệt địch ở hướng Bảo Hà, Phố Ràng, Yên Bình Xã; đợt 3 (31.5-30.6), tuỳ tình hình phát triển chiến dịch, có thể tập trung tiến công Bảo Hà, cô lập Hoàng Su Phì hoặc tiến công Nghĩa Lộ. Để giữ bí mật cho hướng chủ yếu, các đại đội độc lập và du kích nghi binh ở Nghĩa Đô, Thượng Bằng La, Sài Lương, Đồng Bồ, đồng thời, phát động vũ trang vùng địch hậu ở Tú Lệ, Than Uyên, Văn Bàn (Yên Bái), Thuận Châu và dọc sông Đà (Sơn La), Phong Thổ (Lai Châu). Giữa tháng 4.1949, các đơn vị bắt đầu hành quân lên đường chuẩn bị chiến dịch.
Cùng thời gian đó, Bộ chi huy Pháp mở cuộc hành quân Pômôn đánh lên Phú Thọ, Tuyên Quang nhằm phá hậu phương kháng chiến, thu hút chủ lực ta (xem thêm Hành quân Pômôn, 29.4-30.5.1949). Thường vụ Trung ương Đảng và Bộ Tổng tư lệnh một mặt chỉ đạo Liên khu 10 mở Chiến dịch Sông Lô (29.4-31.5.1949) để đánh bại cuộc hành quân này, một mặt vẫn yêu cầu các đơn vị tham gia Chiến dịch Sông Thao tiếp tục chuẩn bị theo kế hoạch. Từ đầu tháng 5.1949, trên các hướng phối hợp (Yên Bái, Sơn La) bộ đội ta đã bắt đầu hoạt động, nhằm thu hút sự chú ý của địch, bảo đảm bí mật cho hướng chính chuẩn bị. Trên hướng chính, ngày 17.5 mọi mặt chuẩn bị cho việc tiến công tiêu diệt hai đồn Đại Bục, Đại Phác đế mở màn chiến dịch đã căn bản hoàn thành, Bộ chỉ huy Chiến dịch quyết định nổ súng mở màn chiến dịch vào đêm 19.5, lập thành tích kỉ niệm ngày sinh Chủ tịch Hồ Chí Minh. Nhiệm vụ tiến công đồn Đại Bục do Tiểu đoàn 54 cùng 1 đại đội pháo binh đảm nhiệm (Tiểu đoàn trưởng Vũ Lăng chỉ huy); đồn Đại Phác do Tiểu đoàn 11 (Tiểu đoàn trưởng Vũ Yên) đảm nhiệm. Đồn Đại Bục có khoảng một đại đội hỗn hợp lính Âu - Phi và ngụy người Thái thuộc Trung đoàn thuộc địa 23 đóng giữ; đồn Đại Phác cách đồn Đại Bục khoảng 3 km về phía nam là nơi quân Pháp đặt sở chỉ huy tiểu khu. Hai đồn đều được xây dựng kiên cố, có lô cốt, chiến hào và nhiều lớp hàng rào tre vót nhọn bao bọc.
Đợt 1 (19.5-5.6), tiến công diệt đồn Đại Bục, Đại Phác; hoạt động có hiệu quả trên hướng phối hợp và vùng địch hậu. 17 giờ ngày 19.5, ta nổ súng tiến công cả 2 đồn cùng lúc. Sau hơn 1 giờ chiến đấu, Tiểu đoàn 54 đã hoàn toàn làm chủ đồn Đại Bục, diệt 22 quân địch, bắt 14 (có 5 lính Pháp), thu hơn 20 súng các loại, trong đó có 1 cối 60 mm, 2 đại liên, 1 trung liên, 2 tiểu liên. Tại đồn Đại Phác, sau 1 giờ chiến đấu, Tiểu đoàn 11 hoàn toàn làm chủ, diệt 3/4 quân địch, bắt 3, thu trên 50 súng các loại, trong đó có 2 cối 60 mm, 1 trung liên, 1 tiểu liên.
Trận đánh ở đôn Đại Bục ngày 19/5/1949
Sau trận mở màn thắng lợi, Tiểu đoàn 11 và một bộ phận Tiểu đoàn 54 liên tiếp tiến công các cứ điểm Dóm (24.5), Làng Phát và Phục Linh (3-5.6) nhưng đều không thành công. Phối hợp với hướng chính, ở địch hậu, ta phát động đấu tranh vũ trang, phá vỡ hội tề ở Minh Lương, Làng Mèo, Mường Cang, Mường Kim, bao vây Than Uyên; ở Sơn La, ta tiến công đồn Bản Trại (diệt 20 địch), Sông Con (diệt 20 địch), tập kích châu lị Thuận Châu, trường bay Mai Sơn, căn cứ Cửa Nhì và Mai Hảo; ngày 1.6, Tiểu đoàn 510 hoạt động nghi binh ở khu Thượng Bằng La; ngày 2.6, Tiểu đoàn 630 tiến công Làng Ma (Khánh Yên). Ngày 5.6, Bộ chỉ huy Chiến dịch quyết định kết thúc đợt 1 để củng cố lực lượng, chuẩn bị cho đợt 2. Bị mất Đại Bục, Đại Phác và bị bao vây, uy hiếp ở nhiều nơi, Pháp vội vã điều quân từ Lào Cai, Phong Thổ đến tăng cường cho các căn cứ Dóm, Bảo Hà, Làng Phát, Phục Linh, Than Uyên.
Đợt 2 (24-29.6), tiến công diệt căn cứ Phố Ràng (sở chỉ huy tiểu khu), Khe Phìa, Ngòi Mác, Thôn Mạ. Ta chủ trương tiếp tục tiến công phá vỡ phòng tuyến sông Thao, theo hướng Bảo Hà, Phố Ràng, Nghĩa Đô, trọng điểm là Phố Ràng, nhằm mở rộng vùng tự do Lào Cai nối liền với Yên Bái. Lực lượng sử dụng trên hướng chính gồm 4 tiểu đoàn bộ binh (11, 79, 54, 564) và 2 đại đội pháo. Ngày 13.6, bộ đội bắt đầu cơ động lên vùng Lục Yên Châu. Đồng thời để bảo đảm bí mật cho hướng chính, các mặt trận phối hợp đã đẩy mạnh hoạt động. Tại Yên Bái, Tiểu đoàn 630 tiến công Tú Lệ, Làng Ken. Tại Sơn La, ta phát động đấu tranh vũ trang ở Mường Còi, Tương Phù. Tại Phú Thọ, Tiểu đoàn 696 và 540 tiến công Trại Vải. Ngày 24.6, ta bắt đầu tiến công phân khu Phố Ràng (gồm Phố Ràng, Thôn Mạ, Ngòi Mác, Nghĩa Đô, Bắc Cuông) mở đầu đợt 2 chiến dịch.
Căn cứ Phố Ràng do 1 đại đội quân Pháp đóng giữ. Tại đây, 2 tiểu đoàn 11, 79 (thiếu 1 đại đội), 2 đại đội pháo, 1 trung đội du kích, tiến công liên tục 40 giờ, tiêu diệt và bắt toàn bộ quân địch, thu 130 súng và 8 tấn đạn. Tiếp đó, Tiểu đoàn 564 vây ép, Tiểu đoàn 630 chặn đánh diệt một số địch ở Thôn Mạ; sáng 27.6, được pháo binh chi viện Tiểu đoàn 54 tiến công làm chủ Khe Phìa - Ngòi Mác, thu 21 súng. Sau trận này, Bộ chỉ huy rút quân chủ lực về Lục Yên Châu để củng cố, riêng Tiểu đoàn 564 tiến sâu vào vùng Nghĩa Đô hoạt động nghi binh. Ngày 29.6, Pháp cho quân ứng cứu Phố Ràng, cơ động theo đường Nghĩa Đô - Bắc Cuông, bị Tiểu đoàn 564 phục kích diệt 4 trung đội. Kế hoạch tác chiến dự kiến kết thúc chiến dịch vào cuối tháng 6.1949, nhưng Bộ Tổng tư lệnh yêu cầu kéo dài sang ngày 7 hoặc 8.7; các đơn vị hành quân về hữu ngạn sông Thao chuẩn bị tác chiến đợt 3. Phân khu Phố Ràng bị diệt, phòng tuyến sông Thao bị phá vỡ 30 km từ Bảo Hà đến Bắc Cuông; hai khu Đại Phác, Gốc Lu bị uy hiếp; đường liên lạc Bảo Hà - Lào Cai, Bảo Hà - Nghĩa Đô bị cắt đứt. Trước nguy cơ bị bao vây tiêu diệt, Pháp tăng viện cho Lào Cai một tiểu đoàn, đóng thêm căn cứ Phố Lu, tăng thêm quân cho căn cứ Làng Phát, Bảo Hà, đồng thời rút bỏ Phục Linh và Làng Nhược.
Đợt 3 (16-18.7), tiến công diệt cứ điểm Dóm, diệt viện từ Gốc Lu lên ứng cứu. Trước tình hình trên, Bộ chỉ huy Chiến dịch chủ trương tiếp tục hoạt động nghi binh ở Bảo Nhai - Nghĩa Đô, đồng thời tập trung lực lượng tiêu diệt căn cứ Dóm và Làng Phát bằng cường tập. Ngày 16.7, hai tiểu đoàn 54, 79 và các đại đội pháo binh tiến công và làm chủ đồn Dóm, sau hai giờ chiến đấu. Địch từ Gốc Lu lên ứng cứu bị 2 đại đội địa phương chặn đánh, diệt 1 trung đội Âu - Phi. Ngày 17.7, trong khi bộ đội đang di chuyển tới Làng Phát thì Bộ Tổng tư lệnh yêu cầu kết thúc chiến dịch, đưa chủ lực của Bộ về Tuyên Quang. Ngày 18.7, Bộ chỉ huy Chiến dịch ra lệnh kết thúc chiến dịch, cũng là thời điểm quân Pháp rút khỏi căn cứ Làng Phát, Đồng Bồ, Ca Vịnh, Sài Lương (ta bỏ lỡ cơ hội diệt địch), phòng tuyến sông Thao vỡ thêm một mảng lớn từ Ba Khe đến Bảo Hà, dài 70 km. Kết quả, ta tiêu diệt 9 căn cứ, bức rút 16 căn cứ, diệt 230 quân địch (có 51 quân Pháp), làm bị thương 150, bắt 58 tù binh (có 11 quân Pháp) và 300 tề điệp, thu trên 300 súng các loại, 9 cối, 18 trung liên và đại liên, hơn 20 tấn đạn. Ta hi sinh 86, bị thương 222 người. Chiến dịch phá vỡ từng mảng lớn phòng tuyến sông Thao của địch, mở rộng vùng cơ sở chính trị, vũ trang của ta ở 82 bản với 20 nghìn dân, trên địa bàn rộng gần 5 nghìn km2.
Chiến dịch Sông Thao là chiến dịch đầu tiên ta tiêu diệt hoàn toàn 2 phân khu gồm nhiều căn cứ có công sự phòng ngự tương đối vững chắc, đánh dấu bước tiến bộ vượt bậc của chủ lực ta trong đánh cường tập (công kiên). Nghệ thuật chiến dịch có những bước phát triển: kết hợp tiến công phòng tuyến phía trước với đánh sâu trong vùng địch tạm chiếm, hoạt động nghi binh có hiệu quả buộc Pháp phải đối phó trên diện rộng; chọn đúng khu vực tiến công chủ yếu, mục tiêu thích hợp để mở màn chiến dịch và mở đầu mỗi đợt, chuyển hướng chiến dịch đúng thời cơ. Kết hợp đánh điểm diệt viện, kết hợp các trận đánh tập trung của các tiểu đoàn chủ lực với các hoạt động nhỏ lẻ của lực lượng vũ trang địa phương. Tuy nhiên ta chưa thực hiện được triệt để mục tiêu phá vỡ khối ngụy quân người Thái; quá trình chiến đấu chưa chú trọng đúng mức việc tổ chức lực lượng dự bị để phát triển chiến dịch; công tác điều tra nắm địch chưa chính xác nên bỏ lỡ nhiều thời cơ tiêu diệt địch.
Nguồn: Bách Khoa toàn thư Quân sự Việt Nam, Quyển 1: Lịch sử Quân sự (Nhà xuất bản Quân đội Nhân dân - năm 2015)