Метою операції були розгром Келецько-Радомського угруповання противника і звільнення південної частини Польщі, вихід на Одер, захоплення плацдарму на його лівому березі і створення вигідних умови для проведення операцій на берлінському і дрезденському напрямках.
При ширині смуги фронту у вихідному положенні до 230 км прорив оборони здійснювався на ділянці 39 км силами 13, 52, 5-ї гвардійської, частиною сил 3-ї гвардійської і 60-ї армій. Правий фланг ударного угруповання забезпечувався 6-ю і 3-тю гвардійськими арміями, які у взаємодії з частиною сил 1-го Білоруського фронту повинні були оточити і знищити Островецько-Опатувське угруповання противника. Забезпечення лівого флангу покладалося на 60-ту і 59-ту (вводилася в бій на 2-й день операції) армії, що наступали у взаємодії з військами 4-го Українського фронту на Краків.
У зв'язку з великим розмахом операції війська фронту мали глибоку оперативну побудову: у другому ешелоні знаходилися 21-ша і 59-та армії, в резерві — 7-й гвардійський механізований і 1-й гвардійський кавалерійський корпуси. 3-тя гвардійська і 4-та танкова армії становили рухому групу фронту. Оперативна побудова армії була двох-і навіть трьохешелонною, деякі з них мали рухомі групи. Бойові порядки з'єднань і частин будувалися в два—три ешелони. На Сандомирському плацдармі було зосереджено 11 934 гармат і мінометів, 1 434 танка і САУ, що дозволило створити на ділянці прориву щільність: до 230 гармат і мінометів і 21 танк безпосередньої підтримки піхоти на 1 км фронту.
Наступ військ фронту почалося о 5 годині 12 січня передовими батальйонами, які після 15-хвилинного вогневого нальоту артилерії з ходу захопили першу, а місцями і другу траншеї противника. О 10:00 після уточнення завдань артилерії почалася артилерійська підготовка. Авіаційна підготовка, зважаючи на складні метеорологічні умови, не проводилася. Ще до закінчення артилерійської підготовки «взводами демонстрації атаки» була проведена імітація початку наступу, слідом за якою артилерія зробила потужний вогневий наліт. Перейшли в наступ головні сили фронту, які протягом 2—3 годин оволоділи двома позиціями головної смуги оборони противника. Для швидкого завершення прориву тактичної зони оборони в 2-й половині дня в бій були введені обидві танкові армії, що дозволило до кінця дня завершити прорив головної смуги.
13 січня противник намагався фланговим контрударом 24-го танкового корпусу з півночі відсікти від головних сил фронту 4-ю танкову армію, проте успіху не досяг. Радянські війська за підтримки 400 штурмовиків і бомбардувальників в районі Хмільника розгромили німецьке ударне угруповання. Протягом двох днів війська фронту просунулися на 25—40 км, розширивши прорив до 60 км, і оволоділи сильними опорними пунктами оборони противника Шідлувом, Стопницею, Хмельником, Бусько, Здруйем, Веслицею та іншими.
З ранку 14 січня головні сили ударного угруповання розгорнули переслідування противника і в результаті 17 січня форсували річки Пилицю і Варту. Частини 3-ї гвардійської армії в районі Скаржисько-Каменна з'єдналися з військами 1-го Білоруського фронту і знищили головні сили 42-го армійського корпусу. 59-та і 60-та армії вийшли на підступи до Кракова. Їх успіху сприяло одночасний наступ 4-го Українського фронту (дивись Західно-Карпатська операція). Добра погода дозволила розгорнути широкі дії авіації, яка за шість днів наступу виконала понад 6 000 літако-вильотів. Наприкінці 17 січня війська фронту розгромили основні сили 4-ї танкової армії і у взаємодії з 4-м Українським фронтом завдали поразки 17-й армії противника, просунулися на 150 км і виконали найближчу задачу на 4—5 днів раніше терміну. Війська правого крила продовжували стрімкий наступ на Бреслауському напрямку.
На лівому крилі 59-та і 60-та армії 19 січня оволоділи Краковом і спільно з введеною в бій на рубежі річки Варти 21-ю армією зав'язали бій за Сілезький промисловий район. Для удару в тил противника, що оборонявся в Сілезії, були повернені на південь 3-тя гвардійська танкова армія і введений в бій 1-й гвардійський кавалерійський корпус. Створилася реальна можливість оточити і знищити сілезькі угруповання німецьких військ. Проте радянське командування, щоб уникнути руйнування промислових об'єктів, свідомо дало противнику можливість відвести свої війська. До 30 січня Сілезький промисловий район був повністю зайнятий радянські військами, а потім у схоронності переданий польському уряду.
Війська, що наступали на Бреслауському напрямку, 22—25 січня вийшли до річки Одеру (на фронті Кебен, Оппельн), форсували його в декількох місцях, оволоділи плацдармами і до 3 лютого закріпилися на лівому березі, приступивши до підготовки Нижньо-Сілезької операції.
Наслідки
В результаті Сандомирско-Сілезької операції війська 1-го Українського фронту розгромили 4-ту танкову і основні сили 17-ї польової німецької армій. У взаємодії з 1-м Білоруським і 4-м Українським фронтами вони звільнили південні райони Польщі, в тому числі її найважливіший Сілезький промисловий район, і перенесли військові дії на територію фашистської Німеччини. Сандомирско-Сілезька операція стала зразком глибокої фронтової наступальної операції. Війська 1-го Українського фронту просунулися до 400—500 км. Середньодобовий темп наступу становив майже 25 км. Успіх операції був досягнутий рішучим масуванням сил і засобів і глибокою оперативною побудовою військ фронту і армій, що забезпечило завдавання потужного удару при прориві і розвитку наступу на велику глибину з форсуванням ряду водних перешкод.
Вирішальну роль у швидкому розвитку наступу зіграли танкові армії та окремі танкові корпуси. Велику допомогу наступаючим військам надала авіація, яка завдавала удари по колонах противника, вузлам доріг, мостах і переправах. Операція відрізнялася майстерним маневром оперативних об'єднань з метою охоплення і обходу угруповань противника в тактичній та оперативній глибині. В результаті Сандомирско-Сілезької операції були створені сприятливі умови для проведення подальших операцій на берлінському і дрезденському напрямках.
Радянські війська проявили в цій операції масовий героїзм і військову майстерність. Найбільш відзначилися з'єднанням і частинам було присвоєно почесні найменування: Келецьких — 28, Ченстоховських — 27, Петроковських — 10, Краківських — 24, Сілезьких — 16, Домбровських — 8, Катовицьких — 23, Одерських — 54.