Первые сведения о намерениях шведского короля Густава III начать войну против России достигли Санкт-Петербурга еще осенью 1787 г., но, несмотря на предупреждения дипломатов, подготовка к походу флота на Средиземное море продолжалась – Россия воевала с Турцией. Императрица Екатерина II торопила Грейга, 3 наиболее крупных корабля его эскадры были отправлены в Копенгаген как авангард, и лишь по случайности при встрече со шведским флотом все обошлось благополучно.
Хотя Россия не давала предлога для войны, Густав III пошел на прямую агрессию. Он перевез войска в Финляндию, осадил крепость Нейшлот; его флот захватил 2 российских фрегата, совершавших плавание с кадетами в Финском заливе. Ультиматум шведского короля сделал войну неминуемой. Когда война со Швецией (1788-1790) стала неизбежной, адмиралу Грейгу С.К. высочайше было приказано искать неприятеля и атаковать его. Под его командой русский флот одержал победу над шведами в сражении у Гогланда 6 (17) июля 1788 г.
Появление 8 июня 18 шведских вымпелов восточнее Гогланда вызвало высочайший указ адмиралу Грейгу С.К. от 17 июня по готовности флота вывести его к Ревелю, до повеления оберегать берега от десантов и наблюдать за шведским флотом. 20 июня эскадра адмирала Чичагова В.Я. была присоединена к эскадре Грейга. 23 июня Грейг с эскадрой вышел к Красной Горке.
Грейг 1 июля из-за противных ветров еще не ушел далее Березовых островов. Адмирал воспользовался возможностью для усиленного обучения команд, состоящих в значительной мере из рекрутов и портовых матросов. Вечером 5 июля эскадра обогнула Гогланд, а утром 6 июля с фрегата «Надежда благополучия» сообщили о приближении противника.
Эскадра Грейга С.К. состояла из 17 линейных кораблей с 1220 орудиями; кроме того, на 8 фрегатах, 3 катерах, 2 бомбардирских кораблях и 3 вспомогательных судах насчитывалось 272 пушки. Шведы имели 16 кораблей, 7 больших фрегатов с 900 крупными и 436 меньшими орудиями.
Когда со стороны Свеаборга показались шведские корабли, адмирал приказал готовиться к бою, и в 11 часов западнее Гогланда выстроилась боевая линия, протянувшаяся с юго-запада на северо-восток более чем на 7 верст. Авангард составили корабли М. Фондезина, арьергард – корабли Козлянинова Т.Г.
К полудню появились корабли противника, направлявшиеся в линии баталии на юг курсом, уводившим от русской эскадры, которая шла на запад. Но Грейг имел приказ вступить в сражение. Ранее он требовал от командиров кораблей решительно атаковать неприятеля и привести его в замешательство. После обнаружения шведов русская эскадра прибавила парусов и изменила курс на запад, в сторону противника; авангард и арьергард поменялись местами, причем корабли М. Фондезина стали отставать.
До 15.00 шведы старались удалиться от русского флота, и только когда можно было определить соотношение сил, пошли на сближение, прибавив парусов, в строю фронта; в центре шел корабль генерал-адмирала, на правом фланге – вице-адмирала, на левом – контр-адмирала. Русская эскадра также шла в строю фронта. На правом фланге был Фондезин, которому Грейг дал сигнал «Спуститься на неприятеля», остальным кораблям он сигнализировал позднее; однако по ошибке первый корабль Козлянинова «Болеслав», последующий «Мечеслав» и последний в кордебаталии «Владислав» двинулись вместе с арьергардом и оказались вне линии, ближе к неприятелю, тогда как второй корабль авангарда «Иоанн Богослов» капитана Вальронта оказался за линией.
В 16.00 находившийся под ветром шведский флот повернул и двигался навстречу русской эскадре; Грейг приказал идти на неприятеля, но корабли «Дерис», «Память Евстафия» и «Иоанн Богослов» повернули неверно и отстали от боевой линии. В то же время флагман Грейга «Ростислав» шел под всеми парусами впереди линии; он сигналами требовал от арьергарда вступить на свое место.
В 17.00 авангард контр-адмирала Козлянинова приблизился к противнику на 2 кабельтова и первым открыл огонь. Располагая тремя кораблями, флагман вступил в бой с передовыми кораблями шведов; 4 корабля кордебаталии после первых выстрелов также открыли огонь, причем «Ростислав» оказался на дистанции картечного выстрела от генерал-адмиральского корабля. К этому времени флоты были между островом Стеншхер и мелью Калбодегрунд, на полпути от Гогланда до Свеаборга.
Команды 7 кораблей, воодушевленные примером Грейга и Козлянинова, вели бой против 12 шведских и вскоре нанесли им значительные повреждения. «Ростислав» вел бой с генерал-адмиральским «Густавом III». Грейг старался сокрушить противника, используя картечь. Против шведского арьергарда впереди сражались «Болеслав», «Мечеслав», «Владислав»; последний потерял большую часть рангоута и стал мишенью 5 концевых вражеских кораблей, тогда как 6 отставших русских кораблей издали стреляли по шведскому арьергарду. Оба флота, окутанные облаками дыма, медленно двигались на юго-запад.
К 18.30 на передовых шведских кораблях было заметно замешательство. «Густав III» на буксире укрылся за боевую линию, вышли из линии 2 передовых корабля и третий, между «Изяславом» и «Ростиславом»; прочие также спустились под ветер, смыкая линию; отступление противника вызвало восторженные крики и наступательный дух даже на отставших кораблях.
В ходе боя «Ростислав», воспользовавшись лучше сохранившимися парусами, обошел 2 своих корабля, стал пятым в линии и снова вступил в сражение. К 19.00 авангард, имея по одному противнику на корабль, энергично атаковал, кордебаталия поддерживала, и даже арьергард старался не отставать. Но ветер стихал. Около 21.00 шведский флот весь спустился и медленно стал поворачивать; русские также повернули и снова сблизились, причем оказались к врагу левым, неповрежденным бортом.
«Ростислав» вступил в жестокий бой со шведским вице-адмиральским кораблем. В наступивший штиль дым окутал поле боя, и на закате стрелять можно было только с близкой дистанции. Шведы, пользуясь темнотой, удалялись, уклоняясь от боя. «Ростислав» картечью и ядрами заставил к 22.00 спустить флаг и сдаться вице-адмиральский корабль «Принц Густав». В 23-м часу сражение завершилось. Но шведы захватили и увели с собой сблизившийся с ними корабль «Владислав». Из-за повреждения русских кораблей отбить его не удалось.
Шведы укрылись в Свеаборге. Поражение шведского флота у Гогланда разрушило планы короля. Морем овладеть не удалось. Известие о поражении вызвало выступление оппозиционно настроенных офицеров и снятие осады крепости Фридрихсгам. Вступление в войну Дании заставило Густава III обратить внимание на запад и вывести войска из пределов России.
За победу при Гогланде Грейг был награжден орденом святого Андрея Первозванного, получил от Адмиралтейств-коллегий похвальный лист. Екатерина собственноручно написала Грейгу: «Заслуги ваши пребудут в нашей памяти, и отечественные летописи передадут потомству имена – ваше и ваших храбрых сподвижников, увенчанных почтением и любовию». Сам адмирал считал, что не заслужил награды, и отказывался надеть орден Св. Андрея Первозванного до полной победы.
Тем временем шведский флот скрывался в базе. 26 июля после ремонта эскадра Грейга С.К. подошла к Свеаборгу и обнаружила на якоре вне рейда 4 шведских корабля, которые торопились сняться с якоря; один из них в спешке так ударился о камень, что мачта переломилась и упала за борт. Трофей оказался новым 66-пушечным кораблем «Густав Адольф». Так как корабль было невозможно спасти, Грейг приказал его сжечь.
И летом, и осенью не раз при известии крейсирующих отрядов о выходе шведов Грейг спешно направлялся к Свеаборгу, но противник более не решался вступить в бой.