1 декабря командование группы армий «Центр» предприняло новую попытку прорваться к Москве в районе Апрелевки, но и она кончилась провалом. Ставка ВГК приказала, кроме переданных Западному фронту из резерва Ставки 1-й ударной, 10-й и 20-й армий, включить в состав Московской зоны обороны 24-ю и 60-ю армии. 2 декабря передовые части 1-й ударной и 20-й армий отразили все атаки противника севернее Москвы в районе Дмитрова и южнее и вынудили его прекратить наступление. 3—5 декабря 1-я ударная и 20-я армии нанесли несколько сильных контрударов в районе Яхромы и Красной Поляны и начали теснить врага. Левофланговые дивизии 16-й армии во взаимодействии с 5-й армией отбросили противника из большой излучины р. Москвы северо-восточнее Звенигорода. Ударная группа 33-й армии, разгромив 4—5 декабря вражеские части, восстановила положение на р. Нара. 50-я и 49-я армии отбили все атаки врага севернее Тулы. Т. о., в результате контрударов советских войск в начале декабря были сорваны последние попытки врага прорваться к Москве. Только с 16 ноября по 5 декабря противник потерял под Москвой 155 тыс. чел. убитыми и ранеными, около 800 танков, 300 орудий и около 1500 самолётов. В ходе обороны столицы были надломлены силы и моральный дух немецко-фашистской армии. Создались предпосылки для перехода советских войск в контрнаступление.
Наступательный период. К контрнаступлению привлекались войска Калининского и Западного фронтов и 2 правофланговые армии Юго-Западного фронта (командующий Маршал Советского Союза С. К. Тимошенко). Главный удар наносил Западный фронт. Советские войска под Москвой к началу декабря насчитывали: около 720 тыс. чел., 5900 орудий и миномётов, 415 установок реактивной артиллерии, 670 танков (в том числе 205 тяжёлых и средних) и 760 самолётов (из них 590 новых конструкций). Немецко-фашистские войска в это время имели: 800 тыс. чел., около 10 400 орудий и миномётов, 1000 танков и свыше 600 самолётов. Замысел советского командования заключался в том, чтобы разгромить ударные группировки противника и отбросить их остатки дальше от столицы. Выполнению этого замысла должны были способствовать войска, наступавшие на тихвинском и ростовском направлениях, авиация Резерва ВГК и партизаны, действовавшие в тылу врага. Контрнаступление началось 5—6 декабря на фронте от Калинина до Ельца. Боевые действия сразу же приняли ожесточённый характер. Несмотря на отсутствие превосходства в силах и средствах, на сильные морозы, глубокий снежный покров, войска левого крыла Калининского и правого крыла Западного фронтов уже в первые дни контрнаступления прорвали оборону противника южнее Калинина и северо-западнее Москвы, перерезали железную дорогу и шоссе Калинин — Москва и освободили ряд населённых пунктов. Одновременно с войсками, наступавшими северо-западнее Москвы, перешли в контрнаступление войска левого крыла Западного и правого крыла Юго-Западного фронтов. Сильные удары войск Красной Армии по фланговым группировкам группы армий «Центр», предназначенным для окружения Москвы, заставили немецко-фашистское командование принять меры по спасению своих войск от разгрома. 8 декабря Гитлер подписал директиву о переходе к обороне на всём советско-германском фронте. Группа армий «Центр» получила задачу любой ценой удерживать важные в стратегическом отношении районы. 9 декабря советские войска освободили Рогачёво, Венёв, Елец, 11 декабря — Сталиногорск, 12 декабря — Солнечногорск, 13 декабря — Ефремов, 15 декабря — Клин, 16 декабря — Калинин, 20 декабря — Волоколамск. К началу января 1942 войска правого крыла Западного фронта вышли на рубеж рр. Лама и Руза. К этому же времени войска Калининского фронта вышли на рубеж Павликово, Старица. Войска центра Западного фронта 26 декабря освободили Наро-Фоминск, 2 января — Малоярославец, 4 января — Боровск. Успешно развивалось контрнаступление на левом крыле Западного фронта и в полосе Брянского фронта (воссоздан18 декабря 1941 в составе 3-й, 13-й и 61-й армий; командующий генерал Я. Т. Черевиченко, член Военного совета А. Ф. Колобяков, начальник штаба генерал-майор В. Я. Колпакчи). 25 декабря советские войска на широком фронте вышли к р. Оке. 28 декабря был освобожден Козельск, 30 декабря — Калуга, в начале января 1942 — Мещовск и Мосальск. Войска Брянского фронта во взаимодействии с войсками левого крыла Западного фронта к началу января 1942 достигли рубежа Белёв, Мценск, Верховье. Это создавало благоприятные условия для окружения группы армий «Центр». Однако достаточных сил у наступающих советских войск для этого не было. Темпы контрнаступления замедлились.
В начале января 1942 было завершено контрнаступление, в результате которого были разгромлены основные силы 2-й, 3-й и 4-й танковых армий и соединения 9-й армии немцев. 38 немецких дивизий (в том числе 11 танковых и 4 моторизованных) потерпели тяжёлое поражение. Разгром ударных группировок, наступавших на Москву, вызвал растерянность немецко-фашистского командования. Гитлер снял с постов главнокомандующего сухопутными войсками генерал-фельдмаршала В. фон Браухича, командующего группой армий «Центр» Ф. Бока, командующих 2-й и 4-й танковых и 9-й армиями Х. Гудериана, Э. Гёпнера, А. Штрауса.
В начале января 1942 Ставка ВГК приняла решение о переходе в общее наступление на всех основных стратегических направлениях: северо-западном, западном и южном с целью разгрома главных группировок врага. Войска Калининского и Западного фронтов имели задачу: во взаимодействии со смежными армиями Северо-Западного и Брянского фронтов окружить и разгромить главные силы группы армий «Центр». Однако наличные силы и средства были недостаточны для достижения поставленных целей. 10 января войска Западного фронта, сломив упорное сопротивление врага, освободили города Можайск, Верею, Медынь, Киров, Людиново и Сухиничи. Осуществление прорыва обороны противника на правом крыле и в центре Западного фронта создало предпосылки для рассечения обороны врага на вяземском направлении и охвата вяземской группировки противника с Ю.-В. Успешно развивалось в январе наступление Калининского фронта и левого крыла Северо-Западного фронта. Были освобождены города Пено, Андреаполь, Селижарово, Торопец, Западная Двина. В середине января войска Калининского фронта глубоко охватили с З. и В. оленинскую группировку, 39-я армия вышла в район Сычёвки, в её тыл. 22 января Ставка передала в состав Калининского фронта 3-ю и 4-ю ударные армии Северо-Западного фронта. Наступление войск Западного фронта (33-й армии, кавалерийского корпуса генерала П. А. Белова и 4-го воздушно-десантного корпуса) на Вязьму, начавшееся 26 января во взаимодействии с 11-м кавалерийским корпусом Калининского фронта с целью окружения вяземской группировки противника с Ю.-З. и С., успеха не имело.
С 1 февраля была восстановлена должность главнокомандующего западным направлением (существовала 10 июля — 11 сентября 1941), на которую был назначен генерал армии Г. К. Жуков, оставшийся также командующим Западным фронтом. Ставка потребовала завершить разгром основных сил группы армий «Центр». В это же время немецко-фашистское командование подтянуло в район Вязьмы подкрепления, которые во взаимодействии с авиацией отбили атаки советских войск на Вязьму с С. и Ю. Одновременно противник нанёс сильные контрудары по коммуникациям выдвинувшихся вперёд 33-й, 39-й и 29-й армий, войска которых вынуждены были в начале февраля перейти к обороне. Был необходим ввод в действие дополнительных сил, но ими советское командование в то время не располагало. В конце марта — начале апреля войска Калининского и Западного фронтов предприняли ещё одну попытку разгромить ржевскую, оленинскую и вяземскую группировки и соединиться с войсками, действовавшими в тылу противника в районе Вязьмы, но успеха не добились. 20 апреля войска получили приказ о переходе к обороне на рубеже Ржев, Гжатск, Киров, Жиздра.
В целом, несмотря на незавершённость, общее наступление на западном направлении увенчалось крупной победой. В результате контрнаступления и общего наступления противник был отброшен на 100—250 км . Полностью были освобождены Московская, Тульская и Рязанская области, многие районы Калининской, Смоленской и Орловской областей. Противник потерял свыше 400 тыс. чел., 1300 танков, 2500 орудий, свыше 15 тыс. машин и много др. техники.