Trong hai ngày 3 và 4/5/1943 tại Munich, Hitler triệu tập cuộc họp bàn việc giành lại thế chủ động chiến lược bị mất sau thất bại ở Stalingrad.
Tại cuộc họp, Hitler phê chuẩn kế hoạch mở chiến dịch Sitadel do Bộ Tổng tham mưu Đức soạn thảo. Mục tiêu của Đức là đánh tan các đơn vị Hồng quân Liên Xô ở khu vực Vòng cung Kursk.
Kursk là một dải đất hình lồi dài khoảng 550km, nằm kẹp giữa Oryol ở phía bắc và Belgorod ở phía nam. Chiếm giữ khu vực này tương ứng là 2 cánh quân Đức, cánh phải là cụm Tập đoàn quân Trung tâm do tướng Gunther von Kluge chỉ huy, cánh trái là cụm Tập đoàn quân Phương Nam của tướng Erich von Manstein.
Nhận được các báo cáo của tình báo quân sự Liên Xô, 2h15 phút ngày 2/7/1943, Tổng tư lệnh tối cao I. V. Stalin ra lệnh cho Hồng quân sẵn sàng chiến đấu, bẻ gãy cuộc tấn công quy mô lớn của quân Đức “có thể được bắt đầu từ ngày 3 – 6/7/1943”. Hai nguyên soái Zhukov và Vasilyevsky trực tiếp chỉ đạo tác chiến.
Mờ sáng 5/7/1943, quân Đức triển khai tiến công trên toàn mặt trận. Hồng quân chủ trương phòng thủ chặt chẽ để tiêu hao sinh lực Đức, rồi chớp thời cơ phản kích và tiến công. Dưới quyền các tướng Liên Xô (Rokossovsky, Vatutin, Konev) có 1.336.000 quân, hơn 19.000 pháo và súng cối, 3.444 xe tăng và pháo tự hành, 2.172 máy bay.
Phía quân Đức, các tướng Kluge và Manstein được Hitler cấp cho 70% các sư đoàn tăng (2.700 chiếc) và trên 65% máy bay (2.050 chiếc) đang có mặt trên mặt trận Xô – Đức cùng 900.000 quân, 10.000 pháo và súng cối.
Tính toán chiến thuật của quân Đức như sau: Từ hai mặt đối diện của chỗ lồi Vòng cung, Đức sẽ đột phá cùng lúc vào khu vực phòng ngự của Hồng quân, đồng thời từ 2 phía bắc và nam mở những mũi đột kích mà điểm giao nhau là Kursk, để chia cắt và tiêu diệt các đơn vị Liên Xô ở đây.
Thế trận phòng thủ của Hồng quân Liên Xô chia làm 2 tuyến gồm 5 – 6 dải phòng ngự sâu 250 – 300km. Trước lúc Đức tấn công, pháo binh Liên Xô tổ chức bắn dọn đường, gây thiệt hại nặng nề cho các đơn vị xung kích Đức làm họ phải lùi thời điểm tấn công mất 2,5 – 3 giờ.
Sau 7 ngày tiến công, quân Đức chỉ tiến sâu nhất được 35km ở mạn Belgorod. Hướng này, ở Prokhorovka, ngày 12/7/1943 diễn ra trận đấu tăng lớn nhất trong lịch sử chiến tranh với sự tham chiến của 1.500 xe tăng và 1.000 máy bay của hai bên, trong đó quân Đức mất 400 xe tăng và hơn 10.000 lính.
Sau trận đấu tăng lớn nhất đó, không mở được đột phá chiến dịch, lại bị tổn thất nặng, đại bộ phận các đơn vị Đức phải phòng ngự và ngày 16/7 bắt đầu lùi về vị trí xuất phát.
Ngày 12/7, sau khi khôi phục được các dải phòng ngự và hất quân Đức về tuyến xuất phát, trong khi vẫn diễn ra những trận đánh của giai đoạn phòng ngự, Hồng quân Liên Xô bắt đầu giai đoạn 2 – giai đoạn tiến công của trận Kursk.
Với mục tiêu đập tan cánh quân Oryol của cụm Tập đoàn quân Trung tâm và xoá góc lồi mạn Oryol của Vòng cung, các đơn vị Liên Xô nhằm hướng Oryol tiến quân và ngày 5/8/1943 giải phóng thành phố này. Tiếp tục truy kích quân Đức, ngày 17 – 18/8, Hồng quân tiến sát tuyến phòng thủ của Đức ở ngoại vi Bryansk, tiêu diệt 15 sư đoàn Đức và tiến sâu 150km về phía tây.
Từ ngày 3 – 23/8/1943 diễn ra chiến dịch Belgorod – Kharkov, chiến dịch cuối cùng của giai đoạn 2 và của cả trận Kursk. Quân Đức dựa vào tuyến phòng thủ xây dựng sẵn, sâu đến 90km, chống cự quyết liệt. Nhưng ngay ngày đầu tiên, dải phòng ngự chiến thuật của Đức đã bị xuyên thủng.
Ngày 5/8/1943, Belgorod được giải phóng. Ngày 23/8, Hồng quân tiến vào Kharkov, 15 sư đoàn Đức bị xoá sổ. Hồng quân đẩy lùi quân Đức sâu 140km và mở rộng dải tiến công đến 300km, tạo điều kiện thuận lợi để giải phóng mạn bờ trái sông Dnieper của Ukraina.
Tính chung, trong trận Kursk với trận đấu tăng vĩ đại nhất trong lịch sử chiến tranh, Hồng quân đã đánh tan 30 sư đoàn Đức gồm 7 sư đoàn xe tăng. Quân Đức mất 500.000 sĩ quan và lính, 1.500 xe tăng, 3.700 máy bay và 3.000 súng pháo. Chiến lược tấn công nhằm thay đổi thế trận của Đức chính thức bị phá sản hoàn toàn.