Фактор времени стал играть для войск Ленинградского фронта исключительно важную роль. Необходимо было без промедления прорваться к Выборгу и командующий Ленинградским фронтом Маршал Советского Союза Л.А. Говоров отдал приказ о взятии города не позднее 20 июня. 21-я армия успешно решила эту задачу.
20 июня армия вышла к реке Вуоксе. При этом части финского 3-го армейского корпуса сохранили плацдарм на южном берегу реки. Руководство штурмом Выборга осуществлял командир 108-го стрелкового корпуса генерал-лейтенант М.Ф. Тихонов. Он находил в обороне противника наиболее уязвимые места и нацеливал туда свои соединения и части. Войска искусными обходными маневрами преодолевали многочисленные укрепления и заграждения, все ближе и ближе продвигаясь к городским окраинам.
Утром 20 июня первые подразделения 108-го стрелкового корпуса ворвались на южную окраину Выборга. Это были стрелковые батальоны, которыми командовали офицеры Воронин и Гурьев. Обойдя небольшое озеро Хейвойсаари и преодолев топкое болото, передовые батальоны вышли к городу со стороны железной дороги Ленинград — Выборг. Благодаря тому, что инженерным частям удалось обезвредить мины, почти сплошь покрывавшие Выборгское шоссе, и быстро построить переправы, в город на полном ходу ворвались танки. Ведя огонь с ходу, тяжелые танки в сопровождении десантников- автоматчиков освобождали одну улицу Выборга за другой.
Бои шли за каждый дом, за каждый квартал города. 90-я стрелковая дивизия генерал-майора И.Г. Лященко, ворвавшаяся в Выборг одной из первых, почти 6 часов вела бой в предместьях и на улицах города. Командир дивизии и ее штаб умело руководили трудными уличными боями, стремясь расчленить и уничтожить оборонявшуюся 20-ю финскую бригаду. Старинная Выборгская крепость была взята батальоном 90-й стрелковой дивизии, которым командовал майор Д.А. Филичкин. Хотя находившиеся там финские подразделения пытались преградить путь наступавшим, бойцы этого батальона, обойдя крепость с двух сторон, вплотную подошли к ней и взяли ее штурмом. Ожесточенный бой шел и за Выборгский вокзал. Оборонявшие его подразделения противника выкатили пушки для стрельбы прямой наводкой. Но атака советских воинов была настолько стремительной, что вражеские артиллеристы не успели сделать ни одного выстрела. После рукопашной схватки вокзал был взят. Когда советские части вышли на фланг финских войск, те оставили свои позиции и отошли через Сорвали (пригород Выборга) на северо-запад.
Вечером 20 июня 1944 года город Выборг полностью был в руках советских войск. На башне старинной крепости взметнулось трехметровое красное полотнище. В боях за Выборг смертью храбрых погибли старший сержант С.И. Курков, командир отделения 1074-го стрелкового полка 314-й стрелковой дивизии, гвардии старший лейтенант Н.И. Винников, начальник разведки 40-го гвардейского минометного полка, посмертно удостоенные высокого звания Героя Советского Союза.
В ночь на 21 июня столица нашей Родины Москва салютовала доблестным войскам Ленинградского фронта, осуществившим прорыв линии Маннергейма и овладевшим городом и крепостью Выборг, двадцатью артиллерийскими залпами из 224 орудий.
В приказе Верховного Главнокомандующего, адресованном Маршалу Советского Союза Л.А. Говорову, отмечались заслуги войск 21-й и 23-й армий, 13-й воздушной армии, артиллеристов, танкистов и саперов. Но, закончив Выборгскую операцию, войска не приостановили наступления. В соответствии с директивой Ставки ВГК от 21 июня они продолжали боевые действия с целью очищения от противника Карельского перешейка северо-восточнее реки и озера Вуоксы и в северо-западном от Выборга направлении.
Бои в это время приняли особенно ожесточенный характер, поскольку финское командование сконцентрировало в северной части Карельского перешейка максимально возможные силы — три четверти всей армии, насчитывавшей в этот период 550 тыс. человек. К тому же Германия перебросила сюда по просьбе Финляндии из группы армий «Север» 122-ю пехотную дивизию, 303-ю бригаду, штурмовых орудий и 70 самолетов 5-го воздушного флота. Наиболее ожесточенные бои пришлось вести частям 97-го и 109-го стрелковых корпусов в районах Таммисуо, Манниккола, Тали и Репола. Жаркие бои велись и в воздухе. В массированных налетах советской авиации на позиции войск противника участвовало до 100 самолетов одновременно.
24 июня на фронте появилась 11-я финская дивизия, на следующий день — 6-я. 23-я армия форсировала реку Вуокса и захватила плацдарм на ее северном берегу, но продвинуться дальше не сумела. Несколько частей 59-й армии, переброшенные на Карельский перешеек из района Чудского озера, совместно с кораблями Балтийского флота овладели пятнадцатью островами Выборгского залива. Острова эти были невелики по размерам, но сильно укреплены. Так, на захваченных 24 июня островах Биоркэ и Торсари находились 8 береговых орудий калибра 254 и 152 мм (бывшие русские, захваченные в 1918 году), а также 37 пушек калибра от 45 до 88 мм.
Стремясь помешать десантам, финны сосредоточили в Выборгском заливе значительную часть своего флота. Однако противостоять советским кораблям они не смогли. 23 финских катера и малых корабля были потоплены в конце июня — начале июля 1944 года. Особенно эффективно действовали советские морские бронекатера проекта 161.
В ходе десантной операции имел место довольно забавный эпизод. Советская разведка доложила командованию, что финны направили в Выборгский залив свой единственный действительно сильный корабль, броненосец «Вяйнамуйнен». Это было вполне логично. «Вяйнамуйнен» мог сыграть существенную роль в боях как за острова, так и на всем Карельском перешейке. Но увы, финны буквально тряслись над этим кораблем и тщательно прятали его. С конца 1941 года в боевых действиях он не участвовал. Советская же разведка приняла за «Вяйнамуйнен» германский крейсер ПВО «Ниобе», стоявший в порту Котка. Этот крейсер водоизмещением около 4000 тонн был спущен на воду еще в 1900 году в Голландии и носил название «Гельдерланд». В июне 1940 года немцы захватили крейсер и перевооружили, установив 8 зенитных пушек. Однако по своим параметрам (94 х 14,8 метров) «Ниобе» вполне мог сойти за «Вяйнемуйнен». Уничтожение «Вяйнемуйнена» было одной из важнейших задач Балтийского флота. 12 июля состоялся первый массированный налет на «Ниобе». На крейсер сбросили 70 бомб, но ни одна из них не попала. Потом 4 дня не было летной погоды. Тем временем «Ниобе» сменил свое место в порту, но это его не спасло. 16 июля состоялся новый налет, в котором приняли участие 142 самолета. Пикирующие бомбардировщики сбросили на «Ниобе» более 60 фугасных бомб весом от 100 до 250 кг, а самолеты А-20ДО (топмачтовики) с высоты 30 метров сбросили шесть 1000-кг бомб. Корабль взорвался и затонул. Потери самолетов советские источники скрывают, немцы же утверждают, что за два налета они сбили около сотни самолетов. Видимо, это преувеличение, но в любом случае отвлекать такие силы авиации на то, чтобы потопить железную баржу с 8-ю зенитками было очень глупо.
25 июня Ленинградский фронт перешёл в наступление на 30-километровом участке — от реки Вуоксы до Выборгского залива. В операции участвовали четыре стрелковых корпуса 21-й армии (109-й, 110-й, 97-й и 108-й), всего 12 стрелковых дивизий. Кроме того, 30-й гвардейский стрелковый корпус находился в резерве. Однако советские стрелковые дивизии были обескровлены и ослаблены предшествующими ожесточёнными боями. Дивизии в среднем насчитывали 4–5 тыс. штыков. Не хватало танков и другой техники. Военный Совет Ленинградского фронта просил у Ставки ВГК значительные подкрепления: два стрелковых корпуса, одну инженерно-саперную бригаду, танки и САУ для пополнения выбывшей бронетехники, а также значительное количество другого оружия и боеприпасов. Ставка ВГК отказала комфронту Говорову в усилении ударной группировки, считая, что Ленинградский фронт имеет достаточно сил средство для прорыва обороны противника.
Финская армия в это время была значительно усилена. Прибыли подкрепления из Карелии и немецкие войска из Прибалтики. 24–25 июня на фронте появились 17-я, 11-я и 6-я пехотные дивизии. Кроме того, на участке от Выборга до озера Вуокси оборону уже держали три дивизии — 3-я, 4-я и 18-я, и две бригады — 3-я и 20-я. В резерве была 10-я пехотная дивизия и танковая дивизия. Прибыли немецкие войска — 122-я немецкая пехотная дивизия и 303-я бригада штурмовых орудий. В результате финское командование сосредоточило на хорошо подготовленных позициях практически все имеющиеся силы. Кроме того, перед советским наступлением Германия поставила Финляндии 14 тыс. фаустпатронов. Их массовое применение привело к некоторому сдерживающему эффекту. Усилила Германия и авиационную составляющую финской армии: в конце июня прибыли 39 истребителей Мессершмитт ВМ09С, в июле — ещё 19 машин.