Конфигурация линии фронта, образовавшейся в результате проведения советскими войсками Нижне-Силезской наступательной операции, предоставляла обеим сторонам возможность для проведения наступательных операций. Южное крыло 1-го Украинского фронта угрожающе нависало с севера над группировкой немецких войск в районе Оппельн — Ратибор. Немецкое командование, в свою очередь, имело возможность для нанесения флангового удара в направлении Бреслау с целью его деблокирования.
С целью ликвидации угрозы южному крылу командующий фронтом Конев решил провести частную наступательную операцию — Верхне-Силезскую. План операции предусматривал одновременное наступление по сходящимся направлениям двух ударных группировок фронта с целью окружения части немецких войск в районе Оппельна. В первую группировку, развёрнутую севернее Оппельна, входили: 21-я армия, 4-я танковая армия и 34-й гвардейский стрелковый корпус. Южнее Оппельна была сосредоточена вторая группировка, состоящая из 59-й и 60-й армий, 93-го стрелкового, 31-го танкового и 7-го гвардейского механизированного корпусов. Общие силы наступавших подразделений составляли 408 тысяч человек, при 988 танках и САУ, 5640 орудиях и миномётах, 1737 самолётах.
Передний край немецкой обороны состоял из укреплений полевого типа и инженерных заграждений. В ближайшем тылу большинство населённых пунктов были подготовлены к длительной обороне и образовывали прочные узлы сопротивления. Местность была густо заминирована и практически всё пространство между населёнными пунктами простреливалось артиллерийским и ружейно-пулемётным огнём. Особое внимание немецкое командование уделяло противотанковой обороне. Для артиллерии были подготовлены запасные огневые позиции. Таким образом, оборону занимало 20 дивизий общей численностью около 360 тысяч человек, вооруженных 1420 орудиями и миномётами, 94 танками и штурмовыми орудиями.
Карта боевых действий в Силезии.
Наступление ударных группировок 1-го Украинского фронта началось утром 15 марта после 40-минутной артиллерийской подготовки. Встретив упорное сопротивление, советские войска к исходу дня сумели вклиниться в оборону противника на 8-10 км. При этом танковые части, действовавшие в составе как северной, так и южной группировок, понесли серьёзные потери от засевших в городских кварталах фаустпатронников.
Чтобы парировать удар 1-го Украинского фронта и не допустить его выход к городу Нейсе немецкое командование стало перебрасывать в район сражения новые соединения. 16 марта разгорелись ожесточённые бои между наступавшими советскими и контратаковавшими их немецкими войсками. Несмотря на это, к исходу 17 марта тактическая зона обороны немецких войск была прорвана и в образовавшуюся брешь устремились подвижные соединения ударных группировок: 10-й гвардейский танковый и 7-й гвардейский механизированный корпуса. Днём 18 марта они встретились в районе города Нёйштадта, замкнув кольцо вокруг оппельнской группировки Вермахта. В котле оказались 168-я и 344-я пехотные дивизии, 20-я пехотная дивизия СС и часть 18-й моторизированной дивизии СС. 19 марта немецкое командование предприняло первую попытку деблокировать окружённых силами танковой дивизии «Герман Геринг». На следующий день для этой цели были привлечены уже более крупные силы: 10-й армейский корпус, 20-я танковая и 45-я пехотная дивизии. Немецкое контрнаступление было встречено тремя советскими корпусами: 118-м стрелковым, 6-м механизированным и 4-м гвардейским танковым. Пока советские соединения, действовавшие на внешнем фронте окружения, отбивали немецкие контрудары, главные силы 21-й армии к вечеру 20 марта фактически завершили ликвидацию окружённой немецкой группировки. 24 марта в результате стремительного наступления и после напряжённых уличных боёв части 21-й и 4-й танковой армий овладели городом Нейсе.
Солдаты Фолькштурма в Ратиборе.
Следующим и последним крупным населённым пунктом, который предстояло взять в ходе операции, был город Ратибор. Однако наступление на этом направлении развивалось чрезвычайно трудно. 22 марта погодные условия позволили авиации 2-й воздушной армии возобновить поддержку атакующей советской пехоте. Несмотря на это немецкие части оборонялись с большим упорством. Кроме того, немецкое командование перебросило с других направлений и ввело в бой 8-ю и 17-ю танковые дивизии. В сложившейся обстановке командующий 1-м Украинским фронтом решил усилить наступающие части 60-й армии двумя корпусами 4-й гвардейской танковой армии. Это положительно сказалось на темпах советского наступления. 24 марта 38-я армия соседнего 4-го Украинского фронта возобновила наступление на моравско-остравском направлении, создав угрозу окружения немецкой группировки в районе Рыбника и Ратибора, и тем самым изменив оперативную обстановку в пользу Красной Армии. 27 марта 60-я армия взяла Рыбник. Затем, в течение двух дней 29 и 30 марта советская авиация наносила массированные бомбовые и штурмовые удары по позициям немецких войск в районе Ратибора. Для усиления огневой мощи наступающих в район Ратибора были переброшены 17-я и 25-я артиллерийские дивизии прорыва. 31 марта после мощной артиллерийской подготовки к решающему штурму города приступили 15-й и 106-й стрелковые корпуса 60-й армии. Их поддерживали танкисты 31-го танкового корпуса и армии Лелюшенко. Не выдержав натиска, противник начал отвод своих войск. Захватив Ратибор, войска 1-го Украинского фронта перешли к обороне.
В результате Верхне-Силезской операции войска 1-го Украинского фронта уничтожили более 5 дивизий вермахта, ликвидировали угрозу немецкого контрнаступления и существенно подорвали военно-экономический потенциал Германии. По заявлению министра вооружений А.Шпеера, с потерей Верхней Силезии Германия утратила четверть своего военного производства. В ходе операции Красная Армия потеряла 66 тысяч человек, немецкие войска – 60 тысяч человек, и главное – стратегические склады военного имущества.