Đợt 1 (13-17.3), ta đập tan thế trận phòng ngự vòng ngoài của địch ở phía bắc và Đông Bắc, mở đầu bằng trận Him Lam (13.3.1954), tiếp đó tiêu diệt cụm cứ điểm đồi Độc Lập (xem trận đồi Độc Lập, 15.3.1954), bao vây, bức hàng cụm cứ điểm Bản Kéo (16.3.1954), đánh bại nhiều đợt phản kích của địch.
Đợt 2 (30.3-30.4), sau hơn 10 ngày xây dựng trận địa tiến công và bao vây với hàng trăm kilômét hào giao thông, hàng ngàn công sự và ụ súng các loại, ta tiến công diệt các cứ điểm E, D1, D2, C1 trên dãy đồi phía đông và 106, 311 trên hướng Tây-Bắc sân bay Mường Thanh, nhưng đánh cứ điểm A1 (xem trận đồi A1, 30.3-7.5.1954) và các cứ điểm C2, 105 không thành công, bị địch phản kích chiếm lại nửa đồi C1.
Từ 16.4 ta phát triển trận địa bao vây, tiến công, đánh lấn diệt các cứ điểm 105 (ngày 18.4), 206 (xem trận cứ điểm 206, 17-23.4.1954), đào hào cắt đôi sân bay Mường Thanh, đánh lui nhiều đợt phản kích của địch nhằm giành lại sân bay (xem trận sân bay Mường Thanh, 21-23.4.1954), kết hợp bắn tỉa và đưa pháo phòng không xuống cánh đồng Mường Thanh khống chế rồi triệt hẳn tiếp tế đường không của địch.
Đợt 3 (1-7.5), ta lần lượt đánh chiếm các điểm cao còn lại ở phía đông (C1, C2 và A1), diệt một số cứ điểm ở phía Tây, tăng cường vây ép phân khu Hồng Cúm, bao vây uy hiếp SCH trung tâm, dập tắt hy vọng rút chạy của địch; 15 giờ 7.5 tổng công kích vào trung tâm Mường Thanh, bắt tướng Đờ Catxtơri (De Castrie) và toàn bộ ban tham mưu tập đoàn cứ điểm, buộc số địch còn lại ở phân khu trung tâm phải đầu hàng, truy kích và bắt gọn bộ phận địch ở Hồng Cúm địch rút chạy.