Начал карьеру в русском флоте в 1723 году, стал морским офицером в 1733 году. Участник Русско-турецкой войны (1735—1739), Семилетней войны (1756—1763), Русско-турецкой войны (1768—1774). Прославился разгромом турецкого флота в ходе Чесменского сражения.
Григорий Спиридов родился в семье дворянина Андрея Алексеевича Спиридова (1680—1745), служившего во времена Петра I комендантом в Выборге, и жены его Анны Васильевны Коротневой.
В 1723 году Спиридов начал службу на флоте волонтёром, в 15 лет после сдачи экзаменов по навигационным наукам был произведён в гардемарины и направлен на Каспийское море; командовал гекботами «Святая Екатерина», «Шах-Дагай», плавал от Астрахани до берегов Персии, обучаясь у А. И. Нагаева, впоследствии известного адмирала, гидрографа и составителя морских карт. Нагаев был весьма доволен усердием способного моряка. С 1732 года Григорий Андреевич служил в Кронштадте, где досрочно получил чин мичмана, ежегодно находился в плаваниях по Балтийскому морю.
В 1738 году, став адъютантом вице-адмирала П. П. Бредаля, участвовал с ним в Азовской экспедиции Донской военной флотилии, которая совместно с сухопутной армией вела войну с Турцией; в этой войне Спиридов отважно действовал во всех морских боях, получил боевую закалку.
В 1741 году он был командирован в Архангельский порт, откуда на одном из новопостроенных кораблей сделал переход в Кронштадт. В течение десяти лет командовал придворными яхтами и линейными кораблями, стал известен на Балтийском флоте и в Петербурге. В 1754 году Спиридов был произведён в капитаны 3-го ранга и послан в Казань для организации доставки лесов в петербургское Адмиралтейство. В 1755 году он стал членом комиссии по рассмотрению регламента для флота, а в следующем году назначен ротным командиром в Морской шляхетный кадетский корпус.
Размеренный ход службы был прерван Семилетней войной 1756—1763 годов. Господство русского флота на Балтике способствовало успешной борьбе России с Пруссией на сухопутном театре войны. Участвуя в кампаниях Балтийского флота, Григорий Спиридов командовал кораблями «Астрахань» и «Святой Николай», ходил в Данциг (Гданьск) и Швецию, к Стральзунду и Копенгагену. В 1761 году он с двухтысячным десантным отрядом пришёл на помощь генералу П. Румянцеву, осаждавшему приморскую крепость Кольберг (Колобжег), и заслужил от него высокую оценку своими действиями. Румянцев характеризовал его как «честного и храброго офицера». В 1762 году Григорий Андреевич был произведён в чин контр-адмирала. Командуя Ревельской эскадрой, он прикрывал русские коммуникации на Балтике. После войны авторитетный военный моряк являлся главным командиром Кронштадтского и Ревельского портов, затем командовал всем флотом на Балтийском море.
Самый трудный и ответственный период военной биографии Спиридова пришёлся на русско-турецкую войну 1768—1774 годов. Екатерина II решила подкрепить сухопутную кампанию против Турции действиями в Средиземном и Эгейском морях и направить в район Греческого архипелага экспедицию русского флота. Во главе первой эскадры был поставлен Спиридов, только что произведённый в адмиралы. 17 июля 1769 года Екатерина II посетила корабли, готовившиеся к отплытию, наградила адмирала орденом святого Александра Невского и, благословляя к походу, надела ему на шею образ Иоанна Воина. Она приказала выдать офицерам и матросам четырёхмесячное жалованье «не в зачёт» и потребовала немедленного выхода эскадры в плавание. Перед адмиралом стояла трудная задача — проложить путь в восточную часть Средиземноморья, совершив туда первый в истории русского флота переход из Балтийского моря.
Переход был осложнён отсутствием собственных баз на пути следования, тяжёлыми погодными условиями, болезнью Григория Андреевича в начале пути. Вследствие повреждения кораблей и их вынужденных остановок для ремонта эскадра двигалась медленно. Это вызывало недовольство императрицы, требовавшей от Спиридова: «…не допускайте до посрамления перед целым светом. Вся Европа на вас и вашу эскадру смотрит». Нервничал и генерал-аншеф Алексей Орлов, назначенный главнокомандующим в экспедиции и поджидавший русский флот в Ливорно.
В феврале 1770 года Спиридов прибыл к полуострову Морея (Пелопоннес), вскоре туда подошла вторая эскадра под командованием Д. Эльфинстона. Под общим руководством графа Орлова эскадры начали боевые действия, осложнявшиеся привходящими обстоятельствами — трениями между графом и адмиралом, а также недисциплинированностью Эльфинстона. В феврале — мае эскадры высадили несколько десантов на Морее, овладели базами Наварин и Итилон. Турция была вынуждена перенацелить свой флот с поддержки сухопутной армии на борьбу в море, а заодно отвлечь часть сухопутных войск с Дунайского театра войны.
24 июня 1770 года в Хиосском проливе глазам русских моряков открылась такая картина: турецкие корабли стоят на якорях, образуя двойную дугообразную линию. Турецкий флот по количеству кораблей почти вдвое превосходил русский, турки имели 1430 орудий, на русских кораблях их было 820. Оробевший Орлов предпочёл уступить выработку плана действий Спиридову. В кильватерной колонне русские корабли авангарда под командованием адмирала пошли на противника перпендикулярно к его боевой линии и атаковали с короткой дистанции авангард и часть центра турок. По сути, русский флотоводец впервые применил способ ведения морского боя, который лишь 35 лет спустя использует в Трафальгарском сражении английский адмирал Нельсон, ставший знаменитостью. Быстрота сближения, сосредоточенный удар, огонь, натиск — и турецкий флот начал терять управление. Его вторая линия при встречном ветре не смогла помочь атакованной первой линии. Спиридов командовал боем в полной парадной форме, с обнажённой шпагой, на его корабле «Евстафий» звучала музыка.
В разгар боя «Евстафий» и турецкий флагман «Реал-Мустафа» сцепились в абордаже, подожжённый турецкий флагман взорвался, вместе с ним погиб и русский корабль, после чего Григорий Андреевич перебрался на «Три иерарха». Вскоре турки бежали из Хиосского пролива и спрятались в тесной акватории Чесменской бухты под прикрытием береговых батарей. «Легко мне было предвидеть, — вспоминал Спиридов, — что сие их убежище будет и гроб их».
В ночь на 26 июня генерал-аншеф Орлов и адмирал Спиридов приняли решение атаковать и уничтожить турецкий флот. По плану адмирала был предпринят комбинированный удар брандерами (зажигательными судами, начинёнными горючим и порохом) и мощным артиллерийским обстрелом с близких расстояний. Первым такой удар нанёс авангардный отряд С. Грейга, стремительно вошедший в бухту и ставший на якорь вблизи турецких кораблей. Героический подвиг совершил лейтенант Д. Ильин, брандер которого взорвал турецкий корабль. К трём часам ночи пожар охватил почти весь турецкий флот, а к десяти часам утра сгорели 15 линейных кораблей, 6 фрегатов и более 40 мелких судов противника. Турки потеряли убитыми и ранеными около 11 тысяч человек, потери русских — 11 убитых.
Спиридов докладывал в Петербург: «Слава богу и честь Всероссийскому флоту! С 25 на 26-е неприятельский флот атаковали, разбили, разломали, сожгли, на небо пустили». В честь Чесменской победы Екатерина II велела возвести специальную колонну и церковь, а также выбить памятную медаль с изображением горящего турецкого флота и красноречивой надписью над ним: «был». Спиридову императрица пожаловала высокую награду — орден святого Андрея Первозванного.
После победы под Чесмой Спиридов в течение трёх лет господствовал в Греческом архипелаге. Он не только осуществлял блокаду Дарданелл, но и приступил к систематическому контролированию коммуникаций противника в Эгейском море с целью пресечения подвоза продовольствия и сырья в Стамбул из Греции. В качестве базы русского флота использовался остров Парос, где были сооружены адмиралтейство и верфь, а также магазины, больницы, церковь. Между блокадным отрядом кораблей и главными силами флота постоянно действовало несколько крейсерских отрядов, полностью перекрывавших Эгейское море в наиболее узкой его части. В 1772 году русский адмирал распространил свои действия на всю восточную часть Средиземноморья, начиная с Ионических островов и до побережья Египта и Сирии. Совместно с экспедиционными сухопутными силами флот Спиридова вёл активные действия против турецких приморских крепостей и портов на Эгейском море.
В июне 1773 года 60-летний адмирал попросился в отставку по состоянию здоровья. Устал он и от стычек с графом Орловым. В феврале следующего года Спиридов получил разрешение оставить свою должность, а также право на пенсию в размере полного адмиральского жалованья. Вернувшись в Россию, Григорий Андреевич прожил ещё 16 лет. Лишь один раз за эти годы он надел свой парадный мундир — когда получил известие о победе флота Фёдора Ушакова при Фидониси.
Умер Спиридов в Москве, был похоронен в своём имении — селе Нагорье Переславского уезда, в склепе церкви, ранее построенной на его средства. Провожали его в последний путь местные крестьяне и верный друг — Степан Хметевский, командир «Трёх иерархов» в Чесменском сражении. В Нагорье ему поставлен памятник и названа в его честь главная улица. В ныне реставрируемой Преображенской церкви в Нагорье открыт доступ к могиле адмирала.
Был женат на Анне Матвеевне Нестеровой (р. 1731 г.) и имел 4 сыновей и 2 дочерей: