On 22 June, as the first rays of sun touched the Swedish sails, Gustav III ordered his ships to weigh anchor. The entire Swedish fleet started toward the western exit, where the most vulnerable Russian vessels, commanded by Povalishin, were positioned. Leading the formation was the 64-gun Dristigheten. The turums, gun-boats and galleys with their landing forces sailed parallel to the ships of the line and large frigates. However, Povalishin was prepared.
The Dristigheten steered between the Russian 74-gun ships Vseslav and Saint Peter. The Russian ships opened fire, but even before the first shot the Swedes had already sustained losses; the 56-gun Finland had run aground and surrendered to the 66-gun Pobedonosets.
The Russian gunfire increased but did not impede the Swedish retreat. Following the Dristigheten, the other Swedish vessels headed out to sea. Povalishin's and Khanykov's detachments remained engaged in an intense battle for more than an hour and a half. Dense smoke surrounded everything and made aiming difficult. The Swedish fleet was badly damaged during its attempts to break the blockade and incurred heavy losses. Under the fire of Povalishin's detachments, the 70-gun Enigheten was rammed by its own fire ship, which the Swedes tried unsuccessfully to destroy. In the ensuing confusion the Enigheten and its fire ship were rammed by the frigate Zemire. All three rammed Swedish vessels caught fire and exploded. Fired upon by Khanykov's frigates, the 62-gun Omheten was hopelessly damaged, forced aground and later surrendered together with a schooner and three galleys. Finally, the 64-gun Hedvig Elisabet Charlotta, having steered off course, ran against rocks and sank. After being forced onto the Passaloda Reef, three more Swedish ships surrendered. One was a 70-gun warship and two were the frigates Upland and Yaroslavets, the last of which was itself a Russian ship that had been captured by the Swedes in an earlier battle.
Chichagov was once again, however, too late pursuing the enemy, having waited two hours from the beginning of the engagement. By this time the vanguard of the Swedish fleet, having reached the open sea, was making for Hogland Island. Only some of the enemy vessels were successfully overtaken and forced to surrender.
The next day, at the walls of Sveaborg, the indefatigable Captain Crown and the Venus captured the 66-gun Retvisan, with the help of the 66-gun Izyaslav.
Swedish losses were heavy, numbering seven ships of the line, 38 minor craft and sixteen transports. Over 6,000 seamen were killed, wounded or captured. On the Russian vessels 117 seamen died and 164 were wounded. The Swedes had lost their last opportunity to defeat Russia at sea and to regain sovereignty over the Baltic. British historians would later call the Battle of Vyborg the Baltic Trafalgar. Gustav III was lucky enough to escape being captured. However, he retained the majority of his galley fleet of 196 vessels and took refuge at Rochensalm. Intoxicated by the victory at Vyborg, Prince Nassau-Ziegen rashly attacked a strong Swedish position from the southwest. The Russians had 141 vessels and approximately 300 more guns than the Swedes. The sea favoured the Swedes, however, and the Russian ships were badly damaged. Nassau-Ziegens's rashness had tragic consequences; the damaged vessels could not retreat and were forced ashore by heavy Baltic waves. In one day the Russian rowing fleet lost 64 vessels; 6,500 officers, soldiers and crewmen were taken prisoner, and 863 seamen were killed or wounded. By comparison, the Swedes lost four vessels and 304 officers and men.
Russia's misfortune at Rochensalm affected the terms of the ensuing peace treaty. According to the Verel Peace of 3 August 1790, Russia and Sweden retained their former borders. Gustav III paid with the loss of half of his battle fleet.