10 июля 1788 года Кронштадтская эскадра вышла в море, но из-за тихой погоды сильно растянулась. 17 июля состоялось Гогландское сражение, в котором «Мстислав» получил серьёзные повреждения. 17-летний Иван Крузенштерн командовал в бою расчётом одного из носовых орудий, а далее командир поставил его разносить поручения по разным боевым частям. Во второй половине 1788 года боестолкновений почти не было, для части флота базой был назначен Ревель, что позволило Крузенштерну бывать дома. Ровно через год после своего первого сражения (17 июля 1789 года), Иван Фёдорович участвовал в Эландском бою; в этот раз командир Муловский был убит пушечным ядром у него на глазах. Командование линейным кораблём далее принял Отто фон Эссен. 13 мая 1790 года состоялось Ревельское сражение, благодаря которому русским удалось заблокировать шведский флот в Выборге. Крузенштерн участвовал в в морских боях при Красной Горке и Выборгской бухте. 3 июля 19-летнего мичмана Крузенштерна отрядили доставить с неприятельского судна адмирала Лейонанкера с флагом. За боевые заслуги Иван Фёдорович был произведён в лейтенанты.