Оперативное построение армии намечалось в два эшелона: в первом 45-я гвардейская, 286,136 и 86-я стрелковые дивизии, 61-я танковая бригада и 86-й и 118-й танковые батальоны (всего 140 легких танков, способных преодолеть реку без дополнительного усиления льда); во втором — 13-я и 123-я дивизии, 102, 123 и 142-я стрелковые, 152-я и 220-я танковая бригады; в резерве — 11,55 и 138-я стрелковые, 34-я лыжная бригады. 46-я стрелковая дивизия и 35-я лыжная бригада занимали оборону на правом берегу Невы на флангах армии. Танки, ввиду малой глубины операции и неподходящей местности, командарм решил использовать для непосредственного сопровождения пехоты.
Этим силам противостояли 328-й пехотный полк 227-й пехотной дивизии генерала фон Скотти, 170-я пехотная дивизия генерала Зандера в полном составе и 100-й полк 5-й горнострелковой дивизии, имевшие не более 30 танков, около 400 минометов и орудий. Оборонительный рубеж немцев проходил по левому берегу Невы, высота которого достигает 12 метров. Берег был искусственно обледенен, густо минирован и почти не имел удобных естественных выходов. Имелись также два мощных узла сопротивления, один из которых состоял из сооружений 8-й ГЭС, кирпичных домов 1-го и 2-го городков, а для другого противник использовал многочисленные постройки Шлиссельбурга и его окраин. На каждый километр фронта приходилось 10–12 дзотов и до 30 орудий и минометов, а вдоль всего берега Невы протянулись траншеи полного профиля. Средний оборонительный рубеж проходил через Рабочие поселки № 1 и № 5, станции Подгорная, Синявино, Рабочий поселок № 6, поселок Михайловский. Здесь имелись две линии траншей, синявинский узел сопротивления, отсечные позиции, а также опорные пункты. Этот рубеж являлся позицией дивизионных резервов (до одного полка) германской группировки. С Синявинских высот хорошо просматривалось южное побережье Ладожского озера, которое оборонял разведывательный батальон 227-й пехотной дивизии, Шлиссельбург, 8-я ГЭС и Рабочий поселок № 5. Вся местность, особенно на участке железнодорожной линии между Синявино и 8-й ГЭС, простреливалась фланкирующим и перекрестным огнем.
Волховский фронт, успевший получить еще пять стрелковых дивизий, основные усилия сосредоточил на своем правом фланге, где главный удар наносила 2-я ударная армия — 12 стрелковых дивизий, 4 стрелковые и лыжные, 4 танковые бригады, 4 отдельных танковых батальона, 21 артиллерийский и минометный полк, 2 инженерные бригады и 6 отдельных саперных батальонов, — в командование которой в декабре вступил генерал-лейтенант В.З. Романовский. Армии предстояло прорвать оборону противника на участке деревни Липка, Гайтолово и, развивая наступление в направлении Рабочий поселок № 8, Синявино, соединиться с войсками Ленинградского фронта.
С севера должна была совершить обход по льду Ладожского озера 12-я лыжная бригада и атаковать противника западнее Липки. Фронт прорыва составлял 12 км, а главный удар армия наносила на 6-километровом участке. В дальнейшем предстояло развивать наступление в южном направлении. Для усиления войск в декабре были сформированы четыре зенитные артиллерийские дивизии, десять минометных полков и два полка реактивной артиллерии; Ставка выделила более 80 эшелонов боеприпасов. К участию в операции привлекалось 2885 орудий и минометов, накопивших по 4–6 боекомплектов (тоже впервые). На каждый километр фронта прорыва была достигнута плотность в среднем 160 стволов, на направлении главного удара — более 200, а на участке против рощи Круглая — 360 орудий и минометов. До 300 орудий выдвигалось на прямую наводку.
2-я ударная армия строилась в два эшелона: в первом — 128, 372, 256, 327, 314, 376-я стрелковые дивизии, усиленные артиллерийскими полками и саперными частями, 122-я танковая бригада и 32-й гвардейский танковый полк прорыва, 501, 502, 503 и 507-й танковые батальоны; во втором — 18, 191, 71, 11, 239-я стрелковые дивизии, 16, 98 и 185-я танковые бригады; в общевойсковом резерве — 147-я стрелковая дивизия, 22-я стрелковая, 11, 12 и 13-я лыжные бригады.
Действия 2-й ударной армии, насчитывавшей почти 140 тысяч человек, поддерживали 2100 орудий и минометов, более 500 реактивных установок М-8 и М-30 и 217 танков. Здесь были сосредоточены 2-я артиллерийская дивизия РВГК, две тяжелые гвардейские минометные бригады М-30 и четыре гвардейских минометных полка М-13.
8-я армия генерала Старикова, численностью свыше 52 тысяч бойцов и командиров, своими правофланговыми соединениями — 80, 265, 286 и 364-я дивизии и 73-я морская стрелковая бригада — должна была прорвать оборону противника на участке Гайтолово, Мишино и наступать в направлении Тортолово, поселок Михайловский. Их поддерживали 785 орудий и минометов и 92 танка в составе 25-го полка прорыва, 107-го и 502-го танковых батальонов.
Против двух армий Волховского фронта оборонялись 227-я пехотная дивизия (без одного полка), 1-я пехотная, 374-й полк 207-й охранной дивизии и 425-й полк 223-й пехотной. Оборонительный рубеж противника проходил от деревни Липка через Рабочий поселок № 8, рощу Круглая, Гайтолово, Мишино, Вороново и далее южнее. По переднему краю шла сплошная траншея, прикрытая минными полями, надолбами и проволочными заграждениями, на некоторых участках была отрыта и вторая. Там, где болотистая местность не позволяла углубиться в землю, немцы возвели ледяные и насыпные валы, поставили двухрядные бревенчатые заборы. В особо мощные узлы сопротивления были превращены Липка, Рабочий поселок № 8, роща Круглая, деревни Гайтолово и Тортолово.
В ночь перед наступлением советская авиация нанесла массированные удары по позициям противника в полосе прорыва, аэродромам и железнодорожным узлам. Во всех полках, батальонах и ротах провели собрания и митинги.