В 1957 году окончил 10 классов средней школы № 7 в городе Калининграде (ныне Королёв) и поступил на завод № 88 (ныне РКК Энергия) учеником медника. Через три месяца ему был присвоен 4-й разряд. Принимал участие в работах по изготовлению первого искусственного спутника Земли.
В 1960 году поступил в Московское высшее техническое училище имени Н. Э. Баумана, ещё студентом в 1964 году начал работу в конструкторском бюро Сергея КоролёваОКБ-1. С 1965 года по окончании МВТУ имени Н. Э. Баумана продолжал работу на различных должностях в ОКБ-1 (впоследствии переименованном в Центральное конструкторское бюро экспериментального машиностроения (ЦКБЭМ)). Принимал участие в подготовке технической документации для советской лунной пилотируемой программы: ракеты-носителяН-1, лунно-посадочного корабля-модуля Т2К-ЛК, лунно-орбитального корабля-модуля 7К-ЛОК. Также участвовал в испытаниях перечисленных конструкций. Участвовал в разработке кораблей типа «Союз»: военного назначения — Союз 7К-ВИ (ВИ — военно-исследовательский), а также серии 7К-ОК (ОК — орбитальный корабль). В 1985 году защитил диссертацию кандидата технических наук в Центральном научно-исследовательском институте машиностроения (ЦНИИмаш).
В 1974—1976 годах в качестве бортинженера вместе с Юрием Малышевым проходил подготовку к испытательному полёту на космическом корабле типа Союз 7К-С. В сентябре 1976 оба были дублёрами основного экипажа корабля Союз-22.
В 1978—1979 годах проходил подготовку к первому пилотируемому полёту корабля типа Союз Т Вместе с Василием Лазаревым входил в состав третьего запасного экипажа. В конце 1979 года они оба были зачислены в первый экипаж корабля Союз Т-3, в экипаж также был включён врач Валерий Поляков. Программа полёта включала медицинские исследования.
В мае 1980 года произошла авария бортовых систем орбитальной станции Салют-6, в связи с чем возникла необходимость в отправке туда ремонтного экипажа и экипаж Стрекалова стал дублирующим. Однако в октябре Стрекалова перевели в основной экипаж, в котором он заменил Константина Феоктистова.
Первый космический полёт совершил с 27 ноября по 10 декабря1980 года совместно с Л. Д. Кизимом и О. Г. Макаровым в качестве космонавта-исследователя на космическом корабле «Союз Т-3». В полёте проводились испытания бортовых систем и элементов конструкции усовершенствованного транспортного корабля «Союз Т-3» в различных режимах автономного полёта и в составе орбитального комплекса «Салют-6» — «Прогресс-11».
Второй космический полёт совершил с 20 по 22 апреля 1983 года в качестве бортинженера космического корабля «Союз Т-8» совместно с командиром корабля В. Г. Титовым и космонавтом-исследователем А. А. Серебровым. Программа полёта предусматривала выполнение исследований и экспериментов на борту пилотируемого орбитального комплекса «Салют-7» — «Космос-1114» — «Союз Т-8», но из-за отклонения от предусмотренных режимов сближения Центр управления полётом принял решение стыковку космического корабля «Союз Т-8» с орбитальным космическим комплексом отменить.
С июля по сентябрь 1983 года Г. М. Стрекалов совместно с В. Г. Титовым прошёл курс подготовки по программе основного экипажа космической экспедиции Союз Т-10 на орбитальную станцию «Салют-7». Но космическому полёту не суждено было осуществиться, так как 26 сентября 1983 года, за несколько секунд до старта загорелась ракета-носитель. Космонавты успели катапультироваться по команде из бункера управления, и были эвакуированы с помощью системы аварийного спасения. После периода реадаптации и отдыха Г. М. Стрекалов вернулся на работу в НПО «Энергия».
Третий космический полёт он совершил с 3 по 11 апреля1984 года в качестве бортинженера международного экипажа совместно с командиром экипажа Ю. В. Малышевым и космонавтом-исследователем гражданином Республики ИндииРакешем Шармой на космическом корабле «Союз Т-11» и орбитальном научно-исследовательском комплексе «Салют-7» — «Союз Т-10».
Четвёртый космический полёт Г. М. Стрекалов совершил с 1 августа по 10 декабря1990 года в качестве бортинженера космического корабля «Союз ТМ-10» и орбитального комплекса «Мир» совместно с Г. М. Манаковым. В ходе этого полёта, 30 октября 1990 года Г. М. Стрекалов осуществил выход в открытый космос продолжительностью 2 часа 45 минут для уточнения объёма необходимых работ по ремонту выходного люка модуля «Квант-2».
Пятый космический полёт с 14 марта по 7 июля1995 года в качестве бортинженера на орбитальном комплексе «Союз ТМ-21» — «Мир» — «Атлантис» вместе с командиром экипажа В. Н. Дежуровым и космонавтом-исследователем гражданином СШАНорманом Тагартом. Во время полёта выполнил три выхода в открытый космос:
12.05.1995 — продолжительностью 6 часов 14 минут,
17.05.1995 — продолжительностью 6 часов 42 минуты,
22.05.1995 — продолжительностью 5 часов 15 минут.
Кроме того, дважды проводил работы в разгерметизированном переходном отсеке (ПхО) базового блока ОК «Мир»:
28.05.1995 — продолжительностью 21 минута,
01.06.1995 — продолжительностью 23 минуты.
Совершив этот полёт в возрасте 54 с лишним лет, он стал также самым пожилым космонавтом в России, побывавшим на орбите (до этого отечественный рекорд на протяжении 10 лет принадлежал Георгию Гречко, а в 1998 году это достижение превзошёл Валерий Рюмин).
орден «За заслуги перед Отечеством» III степени (7 сентября1995) — за активное участие в подготовке и успешном осуществлении длительного российско-американского космического полёта на орбитальном научно-исследовательском комплексе «Мир», проявленные при этом мужество и героизм[7];
орден Октябрьской Революции (10 декабря1990) — за успешное осуществление космического полёта на орбитальном научно-исследовательском комплексе «Мир» и проявленные при этом мужество и героизм[8];
В г. Королёве ул. Вокзальная и Фрунзенский тупик переименованы в улицу Геннадия Стрекалова. Это произошло 1 августа 2020 года в ознаменование 30-летия четвёртого по счёту полёта космонавта в космос.
И. А. Маринин, С. Х. Шамсутдинов, А. В. Глушко (составители). Советские и российские космонавты. 1960—2000 / Под редакцией Ю. М. Батурина. — М.: ООО Информационно-издательский дом «Новости космонавтики», 2001. — ISBN 5-93345-003-0.