18-я армия генерал-лейтенанта А. И. Гастиловича (после войны особой карьеры не сделал, но зато начальником политотдела у него служил будущий маршал и Верховный Главнокомандующий ВС СССР Л. И. Брежнев) получила задачу наступать из района южнее Мокранце в направлении Смольник, овладеть городом Спишска-Нова-Вес, а частью сил обойти с запада Кошице. В дальнейшем двигаться на Попрад, Ружомберок, Жилину.
Особенностью предстоящих действий 4-го Украинского фронта являлось то, что главные его силы, наступавшие на краковском направлении, должны были взаимодействовать с войсками левого крыла 1-го Украинского фронта, а дивизии, действовавшие на кошицком направлении, — со 2-м Украинским фронтом. Это создавало для штаба Петрова дополнительные трудности в организации управления войсками. По замечанию Москаленко, «фронт, действуя в полосе между берлинским и венским направлениями, в то время не имел ярко выраженного самостоятельного операционного направления. Находившиеся перед фронтом Карпаты в условиях зимы представляли труднопреодолимое препятствие, и поэтому Ставка поручала ему обеспечивать действия то 2-го, то 1-го Украинских фронтов, то севернее, то южнее Карпат».
2-й Украинский фронт маршала Р. Я. Малиновского (40, 27, 53-я, 7-я гвардейская, 6-я гвардейская танковая, 5-я воздушная армии, 23-й танковый, 4-й и 6-й гвардейские кавалерийские корпуса, 4-я и 1-я румынские армии — 47 стрелковых и 8 кавалерийских дивизий, 2 укрепрайона, 2 танковых, 2 механизированных, 2 кавалерийских корпуса, 1 отдельная танковая и 1 самоходно-артиллерийская бригада — 385 тысяч человек) имел задачу основными силами выйти на рубежи рек Грон и Нитра, после чего наступать на Братиславу, Вену и Брно.
40-я армия генерал-лейтенанта Ф. Ф. Жмаченко и 4-я румынская армия генерала Н. Дэскэлеску должны были прорвать оборону противника юго-восточнее Плешивец и Рожнява и, развивая наступление в общем направлении на Добшину, способствовать 18-й армии в разгроме кошицкой группировки. Из района Лучинец в направлении Галич, Банска-Бистрица было приказано наступать 27-й армии генерал-полковника С. Г. Трофименко и 1-й румынской армии генерала В. Атанасиу. Удар на Зволен наносила 53-я армия генерал-лейтенанта И. М. Манагарова, а на Банска-Штьявницу — 1-я конно-механизированная группа генерал-лейтенанта И. А. Плиева. Таким образом, войскам Малиновского предстояло штурмовать Карпаты с юга. Левофланговые 7-я гвардейская и 6-я гвардейская танковая армии получили задачу нанести удар из района севернее Эстергома вдоль левого берега Дуная на Комарно.
С учетом румынских и чехословацких частей в 4-м и 2-м Украинских фронтах насчитывалось 652 тысячи солдат и офицеров, 9910 орудий и минометов, 453 танка и самоходно-артиллерийские установки, 1283 боевых самолета.
Противник имел здесь часть сил 17-й полевой армии, армейскую группу «Хайнрици», входившие в состав группы армий «А», 8-ю армию и часть сил 6-й армии группы «Юг». Эти войска насчитывали 550 тысяч человек, до 5000 орудий и минометов, 330 танков и самоходных установок, 680 самолетов.
Войска 2-го Украинского фронта перешли в наступление 6 января с рубежа реки Грон. 7-я гвардейская армия (25-й, 27-й гвардейские, 30-й стрелковые корпуса, 27-я гвардейская танковая бригада) генерал-полковника М. С. Шумилова и 6-я гвардейская танковая армия (5-й гвардейский танковый, 4-й и 9-й гвардейские механизированные корпуса) генерал-полковника А. Г. Кравченко прорвали оборону и через два дня подошли к Комарно, создав плацдарм севернее Дуная.
12 января возобновили наступление войска 40, 27 и 53-й армий, а также румынских 4-й и 1-й армий. К исходу четвертого дня им удалось вклиниться в расположение противника на глубину 18 километров и расширить участок прорыва до 40 километров. Чем выше советские войска поднимались в горы, тем тяжелее становилось наступавшим. Глубокий снег, гололед, частые снежные бураны и хорошо укрепленные узлы сопротивления противника на дорогах, в ущельях и на перевалах создавали огромные трудности. Нередко стрелковые части оставались без артиллерийской и авиационной поддержки. К 25 января армии Жмаченко и Трофименко овладели городами Рожнява, Ельшава, Лучинец и вели бои на подступах к Добшину. На зволенском направлении 53-я армия (24-й гвардейский, 49-й, 57-й стрелковые корпуса) и конно-механизированная группа почти не имели продвижения. Противник, опасаясь выхода советских войск в глубокий тыл всей группировке, действовавшей в районе Словацких Рудных гор, упорно оборонялся.
У генерала Кравченко в строю осталось 43 танка. 23–24 января командующий фронтом вывел в резерв КМГ, а 27 января — 6-ю гвардейскую танковую армию.
В конце января 40-я армия перевалила через главный хребет Словацких Рудных гор и частью сил совместно с действовавшими в этом районе партизанами освободила город Брезно. К 1 февраля войска правого крыла 2-го Украинского фронта достигли рубежа западнее Брезно, Кривань, Немце. Южнее, на плацдарме за Троном, закрепилась 7-я гвардейская армия.
Наступление 4-го Украинского фронта проводилось по «хитрому» графику, имевшему целью рассеять внимание немецкого командования и отвлечь силы противника от главного направления.
Первыми, одновременно с соседом слева, перешли к активным действиям войска 18-й армии (3-й горнострелковый, 17-й гвардейский, 95-й стрелковые корпуса, 159-й укрепрайон). Средняя численность дивизий в армии Гастиловича составляла 3,5–4,5 тысячи человек. На 6-километром участке прорыва удалось собрать 630 артиллерийских и минометных стволов, в основном калибра 76 и 82 мм, что понятно — шестидюймовые гаубицы в горы не потащишь. Другое дело, что и запасы снарядов были ограниченны, поэтому на артиллерийскую подготовку и первый день боя было выделено 0,7 боекомплекта артиллерийских и 3 залпа реактивных снарядов.
В 10 часов 12 января после 40-минутной артподготовки поднялась в атаку пехота 17-го гвардейского и 95-го стрелковых корпусов. Пяти стрелковым дивизиям предстояло прорвать оборону венгерских 2-й резервной и 16-й пехотной дивизий из состава 5-го армейского корпуса. Ввиду тяжелых условий местности и «отчаянного сопротивления», советские войска продвигались крайне медленно, отбивая частые контратаки противника. Так, населенный пункт Мокранце трижды переходил из рук в руки. На второй день операции немецкое командование выдвинуло из резерва 1-ю лыжноегерскую дивизию и перебросило из полосы 40-й армии боевую группу 4-й горнострелковой дивизии. Венгерские части были выведены в тыл, зато на передовой появилась 253-я пехотная дивизия. Ожесточенные бои на дальних подступах к Кошице без существенных успехов продолжались до 17 января.
Ударная группа фронта — 38-я армия (101,67, 52-й стрелковые корпуса) из района южнее Ясло перешла в наступление на краковском направлении утром 15 января. В намеченной полосе прорыва было сосредоточено 1443 орудия и 120-мм миномета, 134 танка и САУ, достигнута плотность 207, местами 250 стволов на километр фронта. Артподготовка длилась 105 минут и была эффективной, в том числе и потому, что впервые заранее была проведена геодезическая и топографическая подготовка стрельбы — в предыдущих операциях на это как-то «не хватало времени»!
В первый же день дивизии первого эшелона, поддерживаемые всей авиацией 8-й воздушной армии, проломили оборону 78-й и 320-й народно-гренадерских дивизий, с ходу форсировали реку Вислоку и захватили тыловой рубеж на западном берегу, который противник не успел занять. После преодоления водной преграды в бой была введена подвижная группа в составе 31-й и 42-й гвардейских танковых бригад, четырех стрелковых батальонов и двух полков артиллерии под водительством заместителя командарма генерал-лейтенанта Н. И. Кирюхина. К 21 часу группа овладела узлом дорог Вуйтова, выбросив передовые отряды к Горлице.
Оборона противника была прорвана на 16 километров по фронту и до 18 километров в глубину. Чтобы избавиться от малейшей угрозы своему правому флангу, Москаленко приказал командиру 101-го стрелкового корпуса генерал-лейтенанту А. Л. Бондареву частью сил «подвернуть» вправо, в полосу 1-го Украинского фронта, и захватить город Ясло. Что и было к утру надлежащим образом исполнено.
16 января, в связи с успешно развивавшимся наступлением войск 1-го Украинского фронта, создавшего угрозу окружения 17-й армии, германское командование начало отводить свои войска на запад. В последующие три дня 38-я армия, сбивая арьергарды противника, вела непрерывное преследование и 20 января овладела городом Новы-Сонч. Тем не менее правое крыло 4-го Украинского фронта безнадежно отставало от соседей, ввиду чего освобождение Кракова Ставка поручила маршалу Коневу.
Генерал Москаленко считал, что удары двух фронтов с самого начала следовало синхронизировать по времени:
«Сколь ни было стремительным наше наступление, мы все же никак не могли наверстать то время, которое потеряли, начав операцию лишь 15 января. В результате, как я и ожидал, мы еще только прошли около половины пути до Кракова, а войска левого фланга 59-й и правого фланга 60-й армий 1-го Украинского фронта, наступавшие с 12 января, уже завязали бои за этот город. Но дело было отнюдь не в том, какой из наших армий достанется честь освобождения Кракова. Речь идет о другом.