К 10 июня 1944 года блокада Ленинграда была уже снята. Немецкие части по трем направлениям были отброшены более, чем на 250 километров и не доставали до города артиллерией. Однако на северо-западе финские войска продолжали удерживать позиции в 25 километрах от городской черты.
В обороне находились более 70 тысяч финнов вместе с сотней танков и САУ, восемью сотнями стволов артиллерии, а на аэродромах стояло 250 самолетов. Против них командование Красной армии выставило 260 тысяч пехотинцев, 630 танков, превосходство в артиллерии и авиации было подавляющим.
Ранним утром 10 июня, после мощной 140-минутной артподготовки и авиаудара по переднему краю обороны противника советские части начали наступление в сторону Выборга. В первый же день фронт был прорван и финны отошли ко второй линии обороны, лишившись двух дивизий, разбитых практически полностью.
На следующий день три советских танковых клина к утру прошли до 20 километров и вышли ко второй линии обороны. К вечеру того же дня и эти укрепления были взяты.
Только к 12 июня наступающие советские части встретили возросшее сопротивление противника. Серьезные бои развернулись возле укрепрайона вокруг крепости Кивеннапу. 14 июня финны перешли в контратаку, захватив врасплох передовые советские части, отдыхавшие после прорыва рубежа обороны и непрерывных четырёхдневных боёв, финнам удалось подбить значительное число единиц бронетехники. Прорыва не случилось и к 15 июня РККА восстановила инициативу на данном направлении.
К 18 июня была прорвана третья линия укреплений, а уже к 20 числу Красная армия взяла Выборг. Меньше, чем за сутки гарнизон города понял, что населенный пункт удержать не получится и после непродолжительных боев отступил, спустив флаг над Выборгской крепостью. В боях за Выборг Советский союз потерял 162 человека убитыми, но число раненых перевалило за 5 тысяч.
За всю операцию со стороны СССР насчитывается 6 тысяч убитых, 24 тысячи человек относят к санитарным потерям. Оценки безвозвратных потерь финнов разнятся от 17 до 32 тысяч человек.