В ожесточённых боях, развернувшихся на Можайской линии обороны в середине октября, советские войска оказали героическое сопротивление превосходящим силам врага и задержали его на несколько дней. 13 октября пала Калуга, 16 октября — Боровск, 18 октября — Можайск и Малоярославец. Только величайшим напряжением сил удалось остановить врага на рубеже рр. Протва и Нара. Столь же ожесточённые бои шли на др. участках западного направления. 17 октября был оставлен Калинин. Для прикрытия столицы с С.-З. 17 октября на базе войск правого крыла Западного фронта (22-я, 29-я, 30-я и 31-я армии) был создан Калининский фронт (командующий генерал-полковник И. С. Конев, член Военного совета корпусной комиссар Д. С. Леонов, начальник штаба генерал-майор И. И. Иванов). Попытка врага нанести удар из района Калинина в тыл фронта была сорвана, а его наступление на тульском направлении остановлено героическими действиями войск 50-й армии и трудящихся Тулы, поддержанных резервами Ставки. С 19 октября ГКО ввёл в Москве и в прилегающих районах осадное положение. В октябре враг совершил на Москву 31 налёт, в них участвовало 2018 самолётов, из которых 273 было сбито. Войска ПВО Москвы вели напряжённую борьбу с воздушным противником и отстояли столицу от разрушений.
Противодействие советских войск постепенно становилось всё более стойким и организованным, но противник вводил в сражение новые соединения и по-прежнему имел количественное превосходство, особенно в боевой технике, на направлениях главных ударов. Поэтому стабилизировать оборону на дальних подступах к Москве не удалось, и бои в конце октября шли уже в 80—100 км от Москвы. Над столицей нависла непосредственная угроза. Героическим сопротивлением советских войск наступление врага в начале ноября было остановлено на всех участках западного направления. Немецко-фашистское командование причину срыва октябрьского наступления объясняло осенней распутицей, хотя неблагоприятные климатические условия одинаково влияли на обе стороны. Гитлер требовал во что бы то ни стало захватить Москву до начала зимы. Германское командование подтянуло все наличные резервы и произвело перегруппировку. Для возобновления наступления на Москву оно развернуло 51 дивизию, в том числе 13 танковых и 7 моторизованных. Перевес в силах оставался на стороне противника: в людях в 2 раза, в артиллерии в 2,5, в танках в 1,5 раза. На волоколамском и тульском направлениях превосходство противника было ещё более значительным. По замыслу немецко-фашистского командования группа армий «Центр» должна была разбить фланговые части обороны советских войск и окружить Москву, обойдя её с С.-З. и Ю.-З.
Советское командование в связи с перегруппировками войск противника усилило опасные участки фронта резервами и пополнениями. 11 ноября был расформирован Брянский фронт, а его 50-я армия вместе с полосой обороны передана в состав Западного фронта; 17 ноября Западный фронт принял вместе с полосой обороны 30-ю армию Калининского фронта.
Наступление немецко-фашистских войск на Москву возобновилось с С.-З. 15—16 ноября, с Ю.-З. — 18 ноября. Главные удары противник наносил в направлениях Клин — Рогачёво, пытаясь обойти Москву с С., и на Тулу — Каширу в обход столицы с Ю. Ценой больших потерь в конце ноября врагу удалось овладеть районом Клин, Солнечногорск, Истра, выйти к каналу Москва — Волга в районе Яхромы и занять Красную Поляну (в 27 км от Москвы). Здесь он был остановлен и вынужден перейти к обороне. В конце ноября шли ожесточённые бои в районе Каширы и Тулы. Советское командование подтянуло дополнительные силы на наиболее угрожаемые участки. 27 ноября советские войска нанесли контрудар по 2-й танковой армии генерала Х. Гудериана и отбросили её от Каширы в направлении на Мордвес. Потерпев поражение под Каширой, 2-я немецкая танковая армия попыталась обойти Тулу с С.-В. и перерезала железные и шоссейные дороги Серпухов — Тула. Контрударом советские войска отбросили врага на исходные позиции. Появились признаки кризиса немецко-фашистского наступления. Инициатива действий стала переходить к советским войскам.
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 достигли рубежа Белёв, Мценск, Верховье. Это создавало благоприятные условия для окружения группы армий «Центр». Однако достаточных сил у наступающих советских войск для этого не было. Темпы контрнаступления замедлились.