На Северо-западном фронте в крайне тяжелом положении оказались 11-я армия, находившаяся на левом фланге фронта, и соседняя с ней 8-я армия. Последняя, оказавшись под угрозой окружения, вынуждена была отходить к Риге. В конце июня немцы глубоко продвинулись на территорию Прибалтийских республик и приблизились к Пскову на прямом пути к Ленинграду. К 10 июля положение на ленинградском направлении стало таким же катастрофическим, как на худших этапах отступления советских войск. Прорвавшись на побережье Финского залива восточнее Таллина, немцы отрезали советские войска, отходившие к городу. Продвижение противника также происходило по восточному берегу Чудского озера к Кингисеппу и к реке Нарве и по северному берегу реки Луги. Бои одновременно происходили к юго-востоку от Ленинграда, севернее и южнее озера Ильмень, с явной целью изолировать Ленинград с востока и соединиться с финнами на восточном берегу Ладожского озера. В сущности, только когда советские войска отошли к самому Ленинграду после крушения Лужского рубежа, им удалось сдержать натиск противника на ближних подступах к городу. На Северо-западном фронте 8 августа началось решающее наступление немцев на Ленинград. Упорно оборонявшихся защитников Лужской линии обороны они к 21 августа обошли с запада и востока. Так как немецкие войска одновременно стремительно продвигались к Финскому заливу юго-западнее Ленинграда и Ладожскому озеру юго-восточнее города, возникли условия для окружения советских войск. Боясь этого, командование защитников города решило отступить. 21 августа немцы захватили Чудово, перерезав тем самым главную железнодорожную магистраль Ленинград — Москва. К 30 августа, после тяжелых боев, они взяли Мгу и перерезали последнюю железную дорогу, еще связывающую Ленинград со всей страной. Несмотря на отчаянное сопротивление советских войск, немцы прорвались к южному берегу Ладожского озера. Они захватили значительный отрезок левого берега Невы, включая Шлиссельбург, однако форсировать реку не смогли. Немцы также прорвались к городу в районе Финского залива, всего в нескольких километрах к юго-западу от Ленинграда, и упорно старались пробиться на участках Колпино и Пулково к югу от Ленинграда.
Большое значение для защиты Ленинграда имела упорная оборона войсками и Балтийским флотом Таллина, Моонзундских островов и полуострова Ханко. Героические действия советских воинов в глубоком тылу противника сковывали его крупные силы. Три недели продолжалась оборона главной базы Балтийского флота — Таллина. Но силы были неравными, и в конце августа защитники города были вынуждены его оставить. Корабли Балтийского флота, подвергаясь непрерывным ударам авиации противника, с войсками на борту совершили исключительный по трудности прорыв через заминированный Финский залив в Кронштадт. Прибывшие сюда командиры и бойцы влились в ряды подразделений, защищавших Ленинград.
Защитники Моонзундских островов до середины октября 1941 г. артогнем прикрывали вход в Финский залив, не позволяя вражескому флоту прорваться к Ленинграду.
Почти пять месяцев продолжалась оборона полуострова Ханко. В начале декабря 1941 г. корабли Балтийского флота в тяжелых ледовых условиях, при большой минной опасности и угрозе вражеской авиации эвакуировали воинов Ханко, и они встали в ряды защитников Ленинграда.
В сущности, только когда советские армии отошли к самому Ленинграду после крушения Лужского рубежа, им удалось сдержать натиск противника на ближних подступах к городу. Ленинград героически защищался. Однако немецкое командование надеялось, что голод заставит его капитулировать. В то же время Гитлер приказал сровнять Ленинград с землей, ибо в противном случае он создал бы угрозу эпидемий, а кроме того, был бы заминирован и представил бы двойную опасность для солдат, которые вступят в него.
На Западном фронте не легче, чем другим воинским частям, пришлось 4-й армии, оборонявшейся на левом фланге центрального направления. Она тоже приняла на себя главный удар танковой группы противника, была смята и продолжала сопротивление, не имея сплошного фронта. Крупные силы советских войск были окружены в «Белостокском мешке» и 11 дивизий в районе Минска. Город был захвачен через пять дней после начала войны. Несколько дней спустя два крупных танковых соединения немцев вышли на Березину, имея против себя лишь остатки 16 советских дивизий.
За первые две недели вторжения части первого эшелона советских войск понесли такие ужасающие потери, что уже вряд ли могли считаться реальной силой. Удержать оборонительный рубеж (который западная печать именовала линией Сталина), проходивший от Нарвы на Финском заливе через Псков, Полоцк и затем по Днепру до Херсона на Черном море, в таких условиях можно было, только выполняя ограниченные задачи.
В этой обстановке советское командование было вынуждено приложить в первую очередь усилия, чтобы задержать противника на смоленско-московском направлении.