Добившись стабилизации ситуации на левом фланге юго–западного направления под Ростовом, советское командование занялось решением проблем на правом фланге Юго–Западного фронта в районе Ельца и Воронежа. Начальник Генерального штаба Красной Армии маршал Б. М. Шапошников требовал от командования Юго–Западного фронта приостановить отход 3–й и 13–й армий и тем самым обеспечить стык с Западным фронтом. Положение армий Я. Г. Крейзера и А. М. Городнянского к тому моменту было совсем не блестящим. Обе армии были охвачены с обеих своих флангов, не имели локтевой связи друг с другом и соседями с севера и юга. Против армий действовали преимущественно пехотные дивизии XXXIV и XXXV корпусов 2–й армии Вейхса, и поэтому советские войска откатывались на восток с умеренным темпом. Однако призрак катастрофы и разгрома вполне определенно маячил на горизонте. В этих условиях советское командование решило воспользоваться растяжкой фланга наступающих немецких войск в районе Ельца, образовавшейся вследствие умеренных успехов XLVIII моторизованного корпуса Кемпфа на касторненском направлении.
План советского контрнаступления под Ельцом был типичным сражением на окружение ударом по сходящимся направлениям, так называемые «канны». Собранные фронтом резервы концентрировались в две ударные группы северо–восточнее и южнее Ельца. Первую возглавлял К. С. Москаленко, и в ее состав сначала вошли 307–я стрелковая дивизия Г. С. Лазько, 55–я кавалерийская дивизия К. В. Фикселя и 150–я танковая бригада Б. С. Бахарова (3 Т–34, 9 Т–26), а позднее 132–я стрелковая дивизия полковника А. А. Мищенко и 57–я мотострелковая бригада войск НКВД полковника Соколова. Группа Москаленко подчинялась командующему 13–й армией генерал–майору А. М. Городнянскому. Вторая ударная группа под командованием генерал–лейтенанта Ф. Я. Костенко получила ключевую задачу операции: она нацеливалась на открытый фланг XXXIV армейского корпуса генерала пехоты Меца. В состав конно–механизированной группы, подчинявшейся непосредственно штабу фронта, вошли 5–й кавалерийский корпус В. Д. Крюченкина, 1–я гвардейская стрелковая дивизия И. П. Руссиянова, 32–я кавалерийская дивизия, 129–я танковая и 34–я мотострелковая бригады, два артиллерийских полка. Ей также была оперативно подчинена и 121–я стрелковая дивизия 13–й армии. Группа Костенко начала сосредоточение еще 25 ноября 1941 г. в районе Тербунов (50—60 км к югу от Ельца). Для управления действиями подвижной группы фронта был создан вспомогательный пункт управления (ВПУ), фактически ставший штабом Ф. Я. Костенко с сильными средствами связи и четырьмя связными У–2. Слабый центр «канн» занимали на широком фронте восточнее Ельца 6, 146 и 148–я стрелковые дивизии 13–й армии.
Наступление началось в 8.00 утра 6 декабря ударом группы К. С. Москаленко на стыке между XXXV и XXXIV армейскими корпусами немцев в обход Ельца с севера. В течение первого дня наступления войска группы 13–й армии не имели значительного территориального успеха, но они отвлекли внимание противника от направления главного удара фронта. В то время как 7 декабря противник контратаковал 307–ю дивизию севернее Ельца, фронтовая конно–механизированная группа перешла в наступление южнее города. Противником войск Ф. Я. Костенко была растянутая по фронту 95–я пехотная дивизия фон Арнима. Сосредоточение советских войск немцами вскрыто не было, в приказе фон Арнима от 5 декабря 1941 г. утверждалось:
«Противник перед 95 пд только в отдельных местах имеет слабые отряды прикрытия, которые при энергичной атаке, не принимая боя, отходят на восток».
Дивизия имела наступательную задачу, то есть о готовящемся контрнаступлении даже не догадывались.
Перейдя в наступление 7 декабря, левофланговые соединения группы Костенко (5–й кавалерийский корпус) встретили упорное сопротивление частей 95–й пехотной дивизии и за день боя продвинулись всего на 2—4 км. В то же время правофланговая 1–я гвардейская стрелковая дивизия, удар которой пришелся в слабое место обороны противника, продвинулась на 5—15 км. В последующие дни части конно–механизированной группы фронта, преодолевая сопротивление вражеских войск, успешно развивали наступление в северном направлении. Кавалерийский корпус В. Д. Крюченкина постепенно наращивал темпы продвижения.
8 декабря корпус с боями продвинулся до 10 км, 9 декабря — до 12, а 10 декабря — на 20 км. Группа Костенко была усилена 34–й мотострелковой бригадой полковника А. А. Шамшина, которая была сразу же брошена на острие наступления. К середине дня 10 декабря части группы Костенко перерезали главную коммуникацию XXXIV корпуса — дорогу Ливны — Елец. 1–я гвардейская стрелковая дивизия встала фронтом на восток на пути отхода немецких войск на запад. Одновременно было предпринято наступление 13–й армии на Елец с фронта, который был оставлен противником 9 декабря. Начался общий отход XXXIV корпуса на запад. 10 декабря войска 13–й армии перешли к преследованию противника на всем фронте. В течение дня продвижение составило 6—16 км.
Следующим шагом должно было стать замыкание кольца окружения вокруг частей 45–й и 134–й пехотных дивизий корпуса Меца, сосредоточившихся западнее Ельца. 11 декабря командующий Юго–Западным фронтом приказал 13–й армии увеличить темп наступления и к исходу 13 декабря выйти на рубеж Верховье — Ливны и тем самым соединиться с подвижной группой фронта. Развитие событий заставило видоизменить форму операции.
Выход к Ливнам подвижной группы Костенко побудил немецкое командование отходить не на запад, а на северо–запад — там еще оставался 25–километровый разрыв между двумя подвижными группами. Чтобы помешать XXXIV армейскому корпусу вырваться из намечающегося «котла», группе Москаленко было приказано наступать не в юго–западном, а в западном направлении. На усиление подвижной группы 13–й армии прибыла 57–я бригада войск НКВД под командованием комбрига Соколова, переброшенная из–под Харькова.
К 12 декабря кавалерийский корпус Крюченкина захватил Россошное и Шатилово — деревни к северо–западу от Ельца. Тем самым была перехвачена железная дорога Елец — Орел. Кавалеристы сразу же подверглись атакам прорывающихся из окружения частей двух пехотных дивизий. Вырвавшийся вперед кавалерийский корпус испытывал нехватку боеприпасов и горючего. Под нажимом рвущихся из окружения пехотинцев корпус Крюченкина был вынужден оставить Россошное и Шатилово и занять оборону к западу от них. Встали из–за отсутствия горючего и не могли прийти на выручку кавалеристам также части 34–й мотострелковой бригады. Командир кавалерийского корпуса докладывал в штаб Юго–Западного фронта:
«Противник, пытаясь вырваться на запад, обтекает фланги корпуса». Группа Москаленко тем временем завязла в боях за Измалково — еще одну деревню на трассе Елец — Орел. Кольцо окружения вокруг XXXIV корпуса оставалось разомкнутым. Тем не менее уже 12 декабря Гальдер считал его дивизии разгромленными: «134–я и 45–я пехотные дивизии вообще больше не боеспособны. Снабжение отсутствует. Командование войск на участке фронта между Тулой и Курском потерпело полное банкротство» (Гальдер Ф. Указ. соч., С. 114).
Обойти Измалково силами 55–й кавалерийской дивизии и 57–й бригады НКВД и выйти навстречу 5–му кавалерийскому корпусу группе Москаленко удалось 11—12 декабря. Встреча двух подвижных групп и завершение окружения состоялось 14 декабря. К вечеру этого же дня была предпринята последняя попытка прорыва из окружения 134–й пехотной дивизии. В ночь на 15 декабря застрелился ее командир генерал–лейтенант фон Кохенгаузен. Впоследствии бывший командир одного из полков 134–й дивизии Вильгельм Кунце вспоминал: