Григорий Спиридов родился 29 января 1713 года в городе Выборг, Ленинградская область. Рос в семье дворянина Андрея Алексеевича Спиридова, служившего во времена Петра I комендантом Выборга. В 1723 году поступил на службу на флот добровольцем. В возрасте пятнадцати лет получил звание гардемарина после сдачи экзаменов по курсу навигационных наук.
Действительную службу Спиридов начал нести на Каспии, где командовал гекботами «Святая Екатерина» и «Шах-Дагай». Ходил от Астрахани до берегов Персии. В 1732 году переведен в Кронштадт и досрочно произведен в мичманы, каждый год выходил в плавание по Балтийскому морю. В 1738 году занял должность адъютанта при вице-адмирале Петре Бредале и под его началом участвовал в составе Донской военной флотилии в Азовской экспедиции против Османской империи, сражался во всех морских боях этой войны.
В 1741 году Григорий Спиридов переведен на службу в порт Архангельска, совершив оттуда переход до Кронштадта на одном из недавно построенных кораблей. Затем возглавлял экипажи различных линейных кораблей и придворных яхт. На подобных должностях находился в течение десяти лет, за которые приобрел относительную известность на Балтийском флоте.
В 1754 году Григорий Андреевич получил звание капитана 3-го ранга и командирован в Казань с целью организации снабжения древесиной столичного Адмиралтейства. В 1755 году вошел в состав комиссии, целью которой являлось рассмотрение регламента для Военно-морского флота, а в 1756 году возглавил в чине ротного командира Морской шляхетный кадетский корпус.
Во время Семилетней войны Спиридов служил на Балтийском флоте, командовал кораблями «Святой Николай» и «Астрахань», совершил с ними несколько переходов в Швецию, в Гданьск, Копенгаген и к Стральзунду. В 1761 году руководил высадкой около крепости Колобжег двухтысячного десанта, в качестве подкрепления осаждавшему ее генералу Петру Румянцеву. Последний затем отметил его как «честного и храброго офицера». В 1762 году получил звание контр-адмирала и назначение командующим Ревельской эскадрой. В его задачу входила защита русских коммуникаций на всем Балтийском море. После окончания войны возглавлял Кронштадтский, а затем Ревельский порт. Позднее стал командующим Балтийского флота.
После объявления войны Турции в 1768 году Григорий Спиридов, получивший звание адмирала, возглавил экспедицию русского флота, отправленную к островам Греческого архипелага. В феврале 1770 года, несмотря на многочисленные трудности, возникшие в пути и замедлившие продвижение, в том числе плохие погодные условия и болезнь адмирала, эскадра дошла до полуострова Морея на Пелопоннесе, где вскоре соединилась со второй.
Григорий Андреевич разработал план Хиосского сражения. Командовавший кораблями с борта «Евстафия» в полном парадном мундире, применил, как считается, принципиально новую тактику морских сражений, приказав авангарду своих кораблей двигаться под прямым углом на боевые порядки противника и начинать атаку на его центр и авангард с короткой дистанции. Победа в сражении досталась русскому флоту, несмотря на превосходство турок и удобство занимаемой ими позиции.
Затем Спиридов командовал русским флотом в победоносном Чесменском сражении, для которого разработал план одновременной атаки ближним артиллерийским обстрелом и ударом брандерами. Благодаря успешным действиям последних, удалось поджечь большую часть турецкого флота. За эту победу награжден орденом святого Андрея Первозванного.
На протяжении трех последующих лет Григорий Спиридов находился на Греческом архипелаге, используя в качестве базы для русского флота остров Парос. С 1772 года, координируя свои действия с сухопутными войсками, предпринял ряд атак на приморские крепости турок в бассейне Эгейского моря, а также стал выходить на рейды в Восточное Средиземноморье, от Ионических островов до побережья Сирии и Египта.
В возрасте шестидесяти лет в 1773 году Григорий Андреевич пожелал выйти в отставку по состоянию здоровья. Разрешение оставить службу получил в феврале следующего года с правом получения пенсии, равной полному адмиральскому жалованью. Возвратившись в Россию, последние шестнадцать лет жизни провел на родине.
Умер Григорий Андреевич Спиридов 19 апреля 1790 года в Москве. Похоронен в своём имении — селе Нагорье в склепе Преображенской церкви.