1788年6月にロシア軍が、フィンランドとの国境を越えてスウェーデン守備兵に攻撃を加えたことから戦争が開始された。しかし、これはすでに当初からグスタフ3世の自作自演であるという噂が流れた。今日において、グスタフ3世による戦術であることは確かとされている。[要出典]開戦するには、スウェーデン議会の了承が必要であり、大国ロシアとの戦争を望まない議員も多数存在していたために、グスタフ3世は、守戦を装うことで自国をも欺いたと言われている。グスタフ3世は以前から軍事力の増強に努めており、以前の自由の時代よりも陸軍、海軍は強化されていた。おりしもロシアはオスマン帝国とも戦端を開いており(露土戦争)、グスタフ3世はこれを利用して開戦した。
グスタフ3世は陸軍を総動員させ、フィンランドに上陸させた。グスタフ3世は、失われたフィンランドの領土「カレリア」の返還を要求した。しかしロシアはこの要求を拒否し、ロシア軍をフィンランドに派遣した。さらに帝都サンクトペテルブルクからロシア海軍を出動させ、スウェーデン海軍とフィンランド湾で海戦が行われたが、勝敗はつかなかった。フィンランドのスウェーデン軍はロシア国境まで迫ったが、士気は低かった。そしてここでフィンランド兵を中心にエカチェリーナ2世に対して、恭順のための嘆願書が練られた。これを「アニアーラ事件」と言うが、これはロシアによる陰謀であるとも言われている。[要出典]密議は結局、露見し失敗に終わっている。この様な事態であったため、フィンランドでのスウェーデンの軍事行動は不調であった。しかもこの期を逃さず、デンマークもスウェーデンに対し宣戦布告した。グスタフ3世は窮地に陥ったが、ここでグスタフ3世は防衛戦争に切り替え、志願兵を募りデンマークに対抗した。さらに水面下での外交で、イギリスとプロイセンにデンマークに圧力を加えさせ、戦線から離脱させることに成功した。そして国内では聖職者、市民、農民の支持の下、絶対王政を復活させる。[要出典]戦争の行方は、グスタフ3世の手に委ねられた。
グスタフ3世は、陸戦の不調に代わる海戦の勝利によるロシアの首都サンクトペテルブルク侵攻作戦も視野に入れていたが、ロシアの国力を前にして、不測の事態にも備え、イギリス、フランス、プロイセンなど列強とも外交交渉を行った。
ロシアも露土戦争との二正面作戦を強いられて本格的な攻勢に出られず、ロシア海軍による防衛戦争に止まっていた。一方グスタフ3世はスウェーデン海軍に軸を移し、戦争はロシア・スウェーデン戦争の山場、フィンランド湾の海戦へと移っていく。そして1790年7月、フィンランド湾の一角スヴェンスクスンドの海戦(英語版)で、ロシアのバルチック艦隊に大勝利を収めた。ロシア艦隊はおよそ150隻の軍艦のうち50隻が撃沈ないし破壊され、死者はおよそ9000人にも及んだ。スウェーデン側の損害は撃沈6隻、戦死者は僅かに300人程度であった。もっとも、この海戦の勝利には、イギリス海軍より出向したシドニー・スミスなどのイギリス海軍軍人の働きも大きかった。ただし、スウェーデン側の疫病等による死者は、対ロシア戦において1万人にも及んだとされている。[要出典]