Trận Vĩnh Yên là một trận đánh quan trọng của Chiến dịch Trần Hưng Đạo diễn ra từ 13 tháng 1 đến 17 tháng 1 năm 1951. Đây là trận đánh có quy mô cấp trung đoàn trong Chiến tranh Đông Dương giữa lực lượng của Liên hiệp Pháp và Quân đội Nhân dân Việt Nam. Lực lượng quân đội khối Liên hiệp Pháp, do Đại tướng Jean de Lattre de Tassigny làm Tổng chỉ huy, đã thành công trong việc ngăn chặn ý đồ chiếm giữ thị xã Vĩnh Yên của lực lượng Quân đội Nhân dân Việt Nam, do Đại tướng Võ Nguyên Giáp làm Tổng chỉ huy. Việc giữ được thị xã Vĩnh Yên của quân Pháp đã buộc tướng Giáp chấm dứt sớm Chiến dịch Trần Hưng Đạo, không thực hiện được hoàn toàn ý đồ đề ra. Về phía Pháp, việc Quân đội Nhân dân Việt Nam phải bỏ cuộc bao vây Vĩnh Yên đã củng cố sĩ khí của quân đội viễn chinh, cũng như những kinh nghiệm để xây dựng "Phòng tuyến De Lattre" sau này. Trên toàn chiến trường Đông Dương, kể từ tháng 10 năm 1950, Quân đội Nhân dân Việt Nam bắt đầu giành được thế chủ động từ tay quân Pháp, khai thông tuyến biên giới với Trung Quốc để mở rộng khả năng viện trợ. Với những đội quân từ những căn cứ huấn luyện trên lãnh thổ Cộng hòa nhân dân Trung Hoa, tướng Giáp liên tục cho quân đánh phá các tiền đồn của Pháp dọc theo Đường 4, xâm nhập sâu vào nội địa, đồng thời tập trung xây dựng khối chủ lực. Đến cuối những đợt tấn công ngày 17 tháng 10, thiệt hại của Pháp đã lên đến 6.000 quân, buộc chính phủ Pháp phải hành động: Cao ủy Đông Dương Leon Pignon và Đại tướng Marcel Carpentier, Tổng tư lệnh Quân viễn chinh Pháp, đều bị triệu hồi. Thay thế họ là tướng Jean de Lattre de Tassigny, từng chỉ huy Đạo quân thứ nhất của Pháp trong Chiến tranh thế giới thứ hai, và được đánh giá là một trong những tướng lĩnh Pháp xuất sắc nhất. De Lattre đến Hà Nội ngày 17 tháng 12 và tiếp nhận quyền chỉ huy cả về quân sự lẫn chính trị của Đông Dương thuộc Pháp. Lực lượng viễn chinh Pháp tại Viễn Đông khoảng 190.000, bao gồm cả 10.000 thuộc Không lực Pháp và 5.000 thuộc Hải quân Pháp. Về cơ bản, hầu hết Đông Dương nằm dưới sự kiểm soát của lực lượng Pháp, nhưng Việt Minh cũng kiểm soát những vùng rừng núi thôn quê rộng lớn, cho phép họ tiếp cận nhiều yếu điểm một cách nhanh chóng và dễ dàng khi cần. Phía Việt Nam Dân chủ Cộng hòa được cổ vũ bởi những thắng lợi từ Chiến dịch Biên giới, đã quyết định tận dụng thời cơ, tiếp tục mở một số chiến dịch với mục tiêu tiêu diệt sinh lực địch, phá kế hoạch củng cố, bình định của Pháp, phát triển chiến tranh du kích, giữ quyền chủ động trên chiến trường. Với sự hỗ trợ của Trung Quốc, Quân đội Nhân dân Việt Nam đã xây dựng được khối chủ lực với 2 đại đoàn 308 và 304 gần hoàn chỉnh trang bị, với tổng quân số xấp xỉ 20.000 quân. Cả hai đại đoàn này đều đóng ở Việt Bắc. Ngoài ra, các lực lượng mới xây dựng đang xâm nhập vào vùng trung du, chuẩn bị thành lập đại đoàn thứ 3 là Đại đoàn 312. Bên cạnh đó, các đơn vị độc lập hoạt động trong vùng kiểm soát của người Pháp ở phía tây nam miền châu thổ sông Hồng cũng đang chuẩn bị tập hợp lại để chuẩn bị thành lập đại đoàn thứ 4 là đại đoàn 320. Ngay từ tháng 11 năm 1950, Bộ Tổng Tư lệnh Quân đội Nhân dân Việt Nam quyết định mở Chiến dịch Trần Hưng Đạo với mục đích tấn công và phá vỡ phòng tuyến trung du từ Việt Trì tới Bắc Giang, đánh bật quân Pháp ra khỏi các vị trí trên phòng tuyến trung du Bắc Bộ. Trong kế hoạch chiến dịch, thị xã Vĩnh Yên là vị trí một đỉnh của tam giác phòng thủ của quân Pháp ở miền châu thổ, nằm cách Hà Nội khoảng 50 kilômét về phía tây bắc, một cứ điểm quan trọng quyết định sự vững chắc của phòng tuyến. Ngày 30 tháng 11 năm 1950, Đảng ủy Chiến dịch Trần Hưng Đạo được thành lập, gồm có Đại tướng Tổng tư lệnh Võ Nguyên Giáp làm Bí thư Đảng ủy kiêm Chỉ huy trưởng Chiến dịch, hai Ủy viên Trung ương là Nguyễn Chí Thanh và Chu Văn Tấn, Phó chủ nhiệm Tổng cục Chính trị Trần Hữu Dực, Phó Tổng Tham mưu trưởng Đào Văn Trường. Lực lượng huy động tham gia chiến dịch gồm: Đại đoàn 308 (với 3 trung đoàn 102, 88 và 36), 2 trung đoàn 209 và 141 (được tập hợp để thành lập Đại đoàn 312), hai trung đoàn độc lập của Bộ Tổng chỉ huy là trung đoàn 98 và trung đoàn 174, 4 tiểu đoàn bộ đội địa phương và 4 đại đội pháo binh 75 ly. Tổng cộng là 27.638 chiến sĩ. Ngoài ra, số dân công thường trực là 27.658 người, số dân công huy động từng đợt là 272.259 người. Dựa vào các tin tình báo thu thập được, phán đoán tướng Giáp sẽ có cuộc tiến công lớn ở trung du, tướng Boyer de Latour, Tư lệnh Chiến trường Bắc Kỳ, đã cho tăng cường cho máy bay trinh sát và mở các cuộc hành quân càn quét vào các vùng nghi ngờ có lực lượng chủ lực của đối phương. Ngày 25 tháng 12 năm 1950, De la Tour cho mở cuộc hành quân Bécassine vào khu vực Lập Thạch và Tam Dương (Vĩnh Yên, Phú Thọ) bằng lực lượng của Binh đoàn cơ động số 3 ("Groupement Mobile 3" - GM3) cùng với tiểu đoàn Mường, do Trung tá Muller chỉ huy. Đây lại chính là khu vực mà các lực lượng của Đại đoàn 312 QĐNDVN, do Lê Trọng Tấn làm Đại đoàn trưởng, đang tập kết. Được sự đồng ý của Bộ chỉ huy chiến dịch, Đại đoàn 312 nổ súng tấn công. Trong vòng 5 ngày, Đại đoàn 312 đã đánh thiệt hại nặng GM3 và các tiểu đoàn ứng cứu, bứt rút hàng loạt các vị trí của quân Pháp. Các đơn vị còn lại của GM3 buộc phải lui về Vĩnh Yên cố thủ. Ngày 30 tháng 12 năm 1950, tướng Giáp chủ động cho kết thúc đợt tiến công. Bấy giờ, phòng thủ Vĩnh Yên là lực lượng của GM3, sau khi bị thiệt hại 1 tiểu đoàn trong cuộc hành quân Bécassine, đã rút về phòng thủ bên trong thị xã. Ngoài ra còn có các đơn vị khác như tiểu đoàn thuộc địa, tiểu đoàn Mường và một số đơn vị Quân đội Quốc gia Việt Nam của chính quyền Bảo Đại cùng rút về hoặc đang đồn trú tại thị xã. Dựa vào tin tình báo về phối trí của quân Pháp tại Vĩnh Yên, kế hoạch của tướng Giáp là đánh cắt đôi vào giữa hai lực lượng này, xuyên phá đội hình của GM3, qua Vĩnh Yên, quá xuống Sơn Tây, sông Đà và sông Hồng, tiến xuống Hà Nội theo đường đê. Từ cuối tháng 12 năm 1950, Đại đoàn 308 vừa hành quân từ Việt Bắc về bố trí dọc theo cánh cung Tam Đảo, phối hợp cùng Đại đoàn 312 bao vây thị xã Vĩnh Yên. Thế trận bao vây tiêu diệt đã hình thành. Về phía Pháp, bộ phận tình báo do đại tá Boussary đứng đầu, đã phân tích cho rằng quân chủ lực của tướng Giáp sử dụng Bắc Sơn làm căn cứ hậu phương và Đông Triều làm căn cứ tiền phương, từ đó dự đoán tướng Giáp sẽ tấn công từ Đông Triều vào Hải Phòng để cắt đứt nguồn cung cấp của quân Pháp tại đây. Căn cứ vào những phân tích này, tướng De Lattre đã cho xây dựng kế hoạch "Trapèze" ("Hình thang"), dự tính sẽ tập kích bất ngờ vào các căn cứ hậu cần của tướng Giáp được cho là đang đóng khu vực Bắc Sơn - Thái Nguyên vào ngày 14 tháng 1, từ đó buộc lực lượng chính quy của QĐNDVN phải rút khỏi các vị trí có thể uy hiếp Hà Nội, tập kết về dọc biên giới Trung Quốc hoặc dọc theo đường số 4. Theo kế hoạch của bộ tham mưu của tướng Da Lattre, do đại tá Beaufré đứng đầu, xây dựng vào ngày 10 tháng 1 năm 1951, 5 tiểu đoàn dù sẽ đổ bộ xuống Bắc Sơn, truy tìm và triệt hạ các kho tàng cũng như các đơn vị của tướng Giáp đang trú đóng tại đây. Để tăng cường lực lượng hỗ trợ, 3 binh đoàn cơ động do các trung tá Edon (chỉ huy GM1), Erulin (chỉ huy GM2) và De Castries (chỉ huy GM Tabor) được lệnh sẵn sàng di chuyển về Bắc Sơn để tiếp ứng. Đồng thời, để đề phòng Vĩnh Yên chỉ là nghi binh để mở cuộc tiến công từ Tam Đảo về Hà Nội, De Lattre ra lệnh tập trung một lực lượng bộ binh quan trọng và xe tăng do chính Beaufré chỉ huy, án ngữ tại mạn Bắc thành phố về phía cầu sông Đuống. Ngày 31 tháng 12 năm 1950, Trung tá Vanuxem được cử làm chỉ huy trưởng GM3 thay cho Trung tá Muller. Ngày 2 tháng 1 năm 1951, tướng Raoul Salan thay tướng De Latour làm Tư lệnh Chiến trường Bắc Kỳ. Cũng trong đầu tháng 1, đội tuần tra của Pháp tại Vĩnh Yên đã bắt được một tù binh và phát hiện được bản đồ dự kiến của chiến dịch, theo đó xác định các hướng tấn công của tướng Giáp. Tuy nhiên, bộ tham mưu của tướng De Lattre vẫn nghi ngờ vì cho rằng đây chỉ là đòn nghi binh của tướng Giáp. Tuy nhiên, ngày 12 tháng 1 năm 1951, Sở chỉ huy của tướng Giáp đã di chuyển lên Tam Đảo. Đêm 13, trung đoàn 141 (Đại đoàn 312) tấn công Bảo Chúc, vị trí cách Vĩnh Yên 11 km về phía Tây Bắc. Do bị bất ngờ, quân Pháp chống cự yếu ớt. Sáng ngày 14, GM3 cho quân lên cứu Bảo Chúc. Tiểu đoàn Mường tới Thủy An thì bị trung đoàn 209 (Đại đoàn 312) chặn đánh, lui về Cẩm Trạch. Các tiểu đoàn khác cũng bị Đại đoàn 308 chặn đánh ở Đạo Tú. Dưới sự yểm trợ mạnh mẽ của không kích và pháo kích, GM3 cuối cùng cũng rút được về Vĩnh Yên, với một tiểu đoàn bị xóa sổ và một tiểu đoàn khác bị thiệt hại nặng. Quân Việt Minh thừa thắng chiếm một loạt các cao điểm sát bên ngoài thị xã. Đến chiều ngày 14, Vĩnh Yên hoàn toàn bị bao vây. Ngay sau khi Vĩnh Yên bị bao vây, nhằm giải tỏa bớt áp lực cho Vĩnh Yên, Salan lập tức điều GM1 (còn gọi là "Binh đoàn cơ động Bắc Phi" - GMNA) tiến lên Phúc Yên để thọc vào sườn QĐNDVN, và một tiểu đoàn dù nhảy xuống Đồng Đau cách Vĩnh Yên 5 km. Sau khi De Lattre từ Sài Gòn ra Hà Nội, đã chỉ thị cho Salan và Redon tới Vĩnh Yên, quyết định đưa GM1 từ Phúc Yên đánh sang hướng tây tiến về Vĩnh Yên, đồng thời gọi thêm không kích chi viện; GM2 từ Lục Nam vào Vĩnh Yên để làm lực lượng dự phòng; ra lệnh cho Tham mưu trưởng Allard lấy 5 tiểu đoàn từ Nam Bộ đưa ra Bắc. Sau đó, De Lattre chỉ thi cho Đại tá chỉ huy không quân Maricourt sử dụng bom napalm Mỹ vừa cập cảng Hải Phòng và huy động toàn bộ máy bay dội bom vào các đơn vị QĐNDVN tại Vĩnh Yên. Đêm ngày 14, Cơ quan tham mưu của QĐNDVN bắt được bức điện của Vanuxem gửi Salan: "Vĩnh Yên est pratiquement encerclé" ("Vĩnh Yên thực sự bị bao vây"). Nửa đêm, tướng Giáp điện cho chỉ huy Lê Trọng Tấn và Vương Thừa Vũ, hỏi liệu có thể điều ngay 1 trung đoàn đánh vào Vĩnh Yên, nhưng cả hai đại đoàn đều không nắm được các đơn vị đang vận động nên xin cho đánh vào đêm 15. Cơ hội đã bị bỏ qua. Sáng ngày 15, GM1 được lệnh hành quân tiến dọc theo đường số 2 lên Vĩnh Yên thì gặp phải trận địa của trung đoàn 102 ở Ngoại Trạch (Bình Xuyên), Khai Quang, Mậu Thông (Tam Dương), bị đánh bật cánh trái, lui về Hương Canh. QĐNDVN thực hiện chia cắt, bao vây 2 đại đội của tiểu đoàn 3 trung đoàn 1 bộ binh Algérie. GM1 lâm vào tình thế chống đỡ, dù có sự hỗ trợ của 70 lượt máy bay ném bom napalm vào đội hình QĐNDVN nhưng vẫn tiến lên rất chậm chạp. Mãi đến chiều tối, GM1 mới tới được thị xã Vĩnh Yên. Lúc 4 giờ 30 chiều, ngày một chiếc máy bay chở De Lattre và Salan tới Vĩnh Yên. Đến tối, vì phải cứu chữa thương binh nên QĐNDVN giãn bớt vòng vây. Đêm 15, sáng 16 tháng 1, GM1 và GM3 chia làm 3 hướng đánh chiếm núi Đanh - dải núi đất chạy dài ở phía bắc và Đông Bắc thị xã Vĩnh Yên 6–7 km. Hai binh đoàn này cùng tiến công cố gắng đánh bật quân Việt Minh ra khỏi các cao điểm ở phía bắc. Bộ chỉ huy của tướng Giáp nhận thấy thị xã Vĩnh Yên đã được củng cố, còn những điểm cao ngoài thị xã mới bị chiếm đều chưa có công sự vững chắc nên đã bỏ phương án tiến công Vĩnh Yên, chuyển hướng tập trung lực lượng tiến công núi Đanh. Lúc 13 giờ 30 ngày 16, các đơn vị QĐNDVN xuất kích. Trung đoàn 209 chiếm các điểm cao 70, 103. Lúc 5 giờ chiều, trung đoàn 36 chiếm điểm cao 157. Sau đó trung đoàn 209 chặn đánh một cánh quân của GM3 từ Vĩnh Yên lên khiến cho cánh quân này phải lùi về thị xã. Ngày 16, 2 đại đoàn 308 và 312 mở cuộc tiến công lớn, các trận đánh lớn diễn ra ở điểm cao 101 và 210 (Núi Đanh), quân Pháp phải dùng máy bay ném bom hỗ trợ. QĐNDVN dùng tối đa cách đánh giáp lá cà giành được thắng lợi lớn. Sáng ngày 17, QĐNDVN chiếm điểm cao 101, đánh thiệt hại nặng một tiểu đoàn Maroc, thừa thế chiếm cao điểm 47, tuy kiểm soát được tuyến giữa nhưng lực lượng đã bị tiêu hao nhiều. Quân Pháp vẫn chiếm giữ được các cao điểm 210 và 157 ở hai cánh. Ở điểm cao 210, lực lượng của Đại đoàn 308 cố gắng tấn công nhưng không đạt kết quả. Trưa ngày 17, quân Pháp một lần nữa dốc sức cố gắng đánh bật quân Việt Minh ra khỏi các cao điểm. Toàn bộ các binh đoàn GM1, 2, 3 đều được huy động, cộng với sự chi viện tối đa của không quân, bom napalm cũng được sử dụng. Do quân Việt Minh chưa quen chiến đấu phòng thủ, lại thêm các điểm cao mới chiếm được đều chưa có công sự vững chắc, đội hình đều ở thế trống trải nên bị tổn thất nặng nề bởi bom pháo. Nhận thấy việc cố gắng tấn công Vĩnh Yên không còn kết quả, lúc 2 giờ sáng ngày 18 tháng 1 năm 1951, Bộ chỉ huy của tướng Giáp đành phải hạ lệnh kết thúc chiến dịch. Các đơn vị Quân đội Nhân dân Việt Nam chủ động rút lui toàn bộ. Đến sáng 18 thì quân Pháp đã kiểm soát hoàn toàn khu vực Vĩnh Yên. Trận Vĩnh Yên là lần đấu trí đầu tiên giữa tướng Giáp và De Lattre. Việc phòng thủ và giải vây thành công của quân Pháp nâng cao đáng kể sĩ khí quân Liên hiệp Pháp, và chứng tỏ rằng Paris đã quyết định đúng khi đặt tướng De Lattre làm chỉ huy trận chiến chống Việt Minh. Sau trận Vĩnh Yên, De Lattre đã đưa ra một kế hoạch chiến lược gồm 4 điểm, được Chính phủ Pháp và Mỹ chuẩn y, bao gồm các điểm: Gấp rút tập trung quân Âu – Phi thành các lực lượng cơ động chiến lược; phát triển quân lính người Việt với quy mô lớn để bổ sung vào quân viễn chinh; xây dựng Quân đội Quốc gia Việt Nam cho chính quyền Bảo Đại; xây dựng tuyến công sự phòng ngự quanh trung du và đồng bằng Bắc Bộ để đối phó với chủ lực Quân đội Nhân dân Việt Nam. Đặc biệt, với kế hoạch xây dựng phòng tuyến "boong ke" với hơn 800 lô cốt, hàng chục cụm cứ điểm với hơn 20 tiểu đoàn canh giữ chạy dài từ Hồng Gai, Đông Triều, Lục Nam, Bắc Giang, Bắc Ninh, Vĩnh-Phúc, Sơn Tây, Hà Đông tới Ninh Bình, tạo nên một hành lang bảo vệ từ đông sang tây, hạn chế đáng kể hoạt động của đối phương. Kế hoạch tướng Giáp tuy mạo hiểm, nhưng rõ ràng là bất ngờ với quân Pháp. Dù bắt được bản đồ chiến dịch, De Lattre vẫn bất ngờ trước hướng tấn công, các phán đoán thời điểm tấn công và rút lui của đối phương đều trễ mất 24 giờ. Tuy đã thành công trong việc phòng thủ và giải vây, thậm chí đánh thiệt hại nặng đối phương, nhưng quân Pháp cũng không đạt được mục đích bẫy tiêu diệt quân chủ lực đối phương cũng như bị bất ngờ, không kịp tổ chức truy kích khi quân Việt Minh rút lui. Bộ phận chủ lực của tướng Giáp hầu như còn nguyên vẹn để sau đó tiếp tục tìm cách chọc thủng ở Mạo Khê và Đông Triều, tuy không thành công nhưng cũng tìm ra những khe hở của "Phòng tuyến De Lattre" tuy kiên cố nhưng thường xuyên bất lực trước sự thâm nhập của những đội quân nhỏ cũng như giúp họ có những kinh nghiệm về tấn công các cứ điểm kiên cố về sau này.