Силам наступавших фронтов противостояли немецкие 2-я танковая армия, 55-й, 53-й и 35-й армейские корпуса. Согласно данным отечественной разведки они имели (с учетом армейских резервов) до 560 танков и САУ. В дивизиях первого эшелона насчитывалось 230–240 танков и САУ. В состав группировки, действовавшей против Центрального фронта, входили три танковые дивизии: 18-я, 9-я и 2-я, располагавшиеся в полосе наступления нашей 13-й армии. В полосе наступления 48-й и 70-й армий немецкие танковые части отсутствовали. На стороне наступавших было абсолютное превосходство в живой силе, артиллерии, танках и авиации. На главных направлениях превосходство по пехоте составляло до 6 раз, по артиллерии — до 5…6 раз, по танкам — до 2,5…3 раз. Немецкие танковые и противотанковые подразделения были значительно ослаблены в предшествующих боях и потому не оказали большого сопротивления. Быстрый переход советских войск от обороны к широкомасштабному наступлению не дал немецким войскам возможности провести реорганизацию и закончить ремонтно-восстановительные работы. По донесениям наступавших частей 13-й армии, все захваченные немецкие походные ремонтные мастерские были забиты повреждённой боевой техникой.
Утром 12 июля, в 5:10, сразу после дождя, советское командование предприняло авиационно-артиллерийскую подготовку, а в 5:40 начался штурм орловского выступа с севера и северо-востока. К 10:00 главная оборонительная полоса немецких войск была прорвана в трех местах, и в прорыв пошли части 4-й танковой армии. Однако к 16:00 немецкое командование смогло перегруппировать силы и, отведя ряд подразделений из-под ст. Поныри, остановить развитие советского наступления. К вечеру первого дня наступления на северо-западе советские войска смогли продвинуться на 10–12 км, на севере — до 7,5 км. На восточном направлении продвижение было незначительным.