В самом центре города, на высоком правом берегу реки Прегель, высился Королевский замок — мощная цитадель, вмещавшая гарнизон из нескольких тысяч человек.
К штурму Кёнигсберга привлекались войска 39-й (генерал-лейтенант И.И. Людников), 43-й (генерал-лейтенант А.П. Белобородов), 50-й (генерал-лейтенант Ф.П. Озеров) и 11-й гвардейской (генерал-лейтенант К.Н. Галицкий) армий.
43-я армия в составе 54, 90 и 13-го стрелковых корпусов (девять стрелковых дивизий), а также 153-я танковая бригада, пять самоходных артиллерийских полков, 3-я артиллерийская дивизия прорыва в составе шести артиллерийских бригад, две артиллерийские пушечные бригады, тяжелая минометная бригада, два отдельных артиллерийских дивизиона особой мощности, армейская пушечная артиллерийская бригада, армейский истребительно-противотанковый артиллерийский полк, две гвардейские минометные бригады и два гвардейских минометных полка (БМ-21 «катюши» и БМ-31); 50-я армия в составе 81, 124 и 69-го стрелковых корпусов со средствами усиления.
Всего в составе советской группировки было 187 тысяч человек, 5200 орудий и минометов, 538 танков и САУ. Кроме того, в конце марта из резерва Ставки прибыли дополнительно три отдельных дивизиона особой мощности, каждый из которых имел по шесть 305-мм гаубиц, и 1-я гвардейская морская железнодорожная артиллерийская бригада (пять батарей, четыре 180-мм и одна 130-мм пушка). В результате из артиллерии большой и особой мощности имелось 12 152-мм пушек, 4 180-мм пушки, 94 203-мм гаубицы, 12 210-мм пушек, 18 280-мм мортир и 18 305-мм гаубиц.
С воздуха данную группировку обеспечивали 1-я (генерал-полковник Т.Т. Хрюкин) и 3-я (генерал-полковник Н.Ф. Папивнин) воздушные армии, а также соединения дальних бомбардировщиков 18-й воздушной армии (Главный маршал авиации А.Е. Голованов). Кроме того, в интересах этих войск действовали ВВС Балтийского флота, 5-й гвардейский и 5-й бомбардировочный авиационные корпуса РВГК (2400 самолетов). Общее руководство столь крупными силами авиации осуществлял командующий ВВС Красной Армии Главный маршал авиации A.A. Новиков.
Замысел советского командования предусматривал овладение Кёнигсбергом «звездным штурмом» — одновременными ударами с нескольких направлений. С северо-запада должны были наносить удар 43-я и 50-я армии, с юга — 11-я гвардейская армия. С востока предусматривалась только активная блокада города частью сил 50-й армии (324-я и 110-я стрелковые дивизии 69-го стрелкового корпуса). Армии должны были прорвать внешний пояс обороны противника и к исходу первого дня наступления выйти к городу. Затем к исходу третьего дня операции овладеть городом.
Корпуса армий должны были в первый день прорвать внешний обвод крепости на глубину до 4 км, овладеть пригородом и завязать бои непосредственно за город. В течение последующих двух дней войска 43-й армии должны были разгромить противника в северной части города и выйти на реку Пренгель, где соединиться с наступавшими с юга войсками 11-й гвардейской армии. Дивизии первого эшелона корпусов получили ближайшую задачу на глубину до 2,5 км, задачу дня — до 4–4,5 км.
В плане реализации замысла советского командования предусматривалось решительное массирование сил и средств на направлениях главных ударов. Так 43-я армия должна была силами шести дивизий прорвать оборону противника на участке 5 км. 50-я армия получила задачу силами четырех стрелковых дивизий прорвать оборону на участке 4 км. Это значит, что при штурме Кёнигсберга стрелковая дивизия на участке прорыва действовала на фронте порядка 800 м. Стрелковые полки (в составе двух батальонов) прорывали оборону противника на фронте 300–400 м.
Определение столь узких участков прорыва для соединений обуславливало огромную концентрацию сил и средств. В армиях на участках прорыва плотности составляли: 0,7–0,8 км на одну стрелковую дивизию, 27 танков и САУ на 1 км участка прорыва, плотности артиллерии колебались от 150 до 260 и даже больше орудий и минометов калибра 76 мм и выше на 1 км фронта.
Высокие плотности сил и средств предопределили своеобразное оперативное построение и боевой порядок войск. Было решено оперативное построение армий иметь в один эшелон с выделением резерва. Корпуса строили свой боевой порядок в два эшелона: две дивизии в первом, одна — во втором. Ввод в бой вторых эшелонов корпусов предполагался на второй-третий день операции в ходе боев за город. Для наращивания сил и средств в ходе прорыва первой позиции боевой порядок стрелковых дивизий и стрелковых полков строился в два эшелона.