Георгий Шпак родился 8 сентября 1943 года в городе Осиповичи, Беларусь. Появился на свет в семье железнодорожника. Отец, Иван Антонович, всю жизнь проработал на железной дороге. Мать, Анна Акимовна, работала бухгалтером. Окончил Минское железнодорожное училище по специальности помощник машиниста тепловоза, слесаря-электрика по ремонту тепловозов.
Полгода проходил срочную службу в 137 гвардейском парашютно-десантном полку в Рязани, затем поступил в Рязанское высшее воздушно-десантное командное училище, которое с отличием окончил в 1966 году и был назначен командиром курсантского взвода. В 1970 году стал командиром роты курсантов в училище, в 1973 - преподавателем кафедры тактики. Затем, через полгода назначен командиром батальона в 44 учебную воздушно-десантную дивизию в Прибалтику.
После окончания в 1978 году Военной академии имени М.В.Фрунзе командовал знаменитым 350 гвардейским парашютно-десантным полком, который первым вошёл на территорию Афганистана 25 декабря 1979 года, был начальником штаба - заместителем командира воздушно-десантной дивизии, командиром 76-й гвардейской воздушно-десантной дивизии.
Принимал участие в боевых действиях в Республике Афганистан, Югославии и Чечне. После окончания в 1988 году Военной академии Генерального штаба продолжил службу первым заместителем командующего общевойсковой армией в Одесском военном округе.
С 1989 года - командующий 6 армией Ленинградского военного округа, начальник штаба - первый заместитель командующего войсками Туркестанского военного округа, а с 1992 года - начальник штаба - первый заместитель командующего войсками Приволжского военного округа.
С 4 декабря 1996 года по 8 сентября 2003 года - командующий Воздушно-десантными войсками России. В сентябре 2003 года, после ухода с военной службы в отставку, объявил о намерении заняться политической деятельностью, и вошёл в состав народно-патриотического блока, позже - партии «Родина», в которой оставался до октября 2004 года.
Избран депутатом Государственной Думы Федерального Собрания Российской Федерации IV созыва 7 декабря 2003 года. Являлся заместителем председателя Комитета Госдумы по обороне.
В марте 2004 года, опередив соперника во втором туре голосования, набрал 53,5% голосов и был избран губернатором Рязанской области. С 28 марта 2004 по 12 апреля 2008 - Губернатор Рязанской области.
С 2008 года - помощник руководителя Администрации Президента Российской Федерации.