Её отец был сыном греческого короля Георга I, сына датского короля Кристиана IX и Луизы Гессен-Кассельской и Великой княгини Ольги Константиновны, внучки императора Российской империи Николая I и императрицы Александры Фёдоровны, урождённой Шарлотты Прусской.
Её матерью была принцесса Алиса Баттенберг, правнучка английской королевы Виктории и принца-консорта Альберта Саксен-Кобург-Готского.
София была сестрой принца Филиппа, герцога Эдинбургского, мужа королевы Елизаветы II. У неё были три старшие сестры: принцесса Теодора, маркграфиня Баденская, принцесса Сесилия, наследная принцесса Гессенская и Маргарита, принцесса Гогенлоэ-Лангенбургская.
София была замужем первым браком за принцем Кристофером Гессенским (1901—1943) 15 декабря 1930 года в Кронберге; ей было 16 лет. Её супруг был сыном принца Фридриха Гессенкого и принцессы Маргариты Прусской. Он был правнуком королевы Виктории и принца Альберта Саксен-Кобург-Готского. 7 октября 1943 принц Кристофер погиб в авиакатастрофе возле Форли, в районе Апеннинских гор в Италии. Его тело было найдено спустя два дня. Супруги имели пятерых детей:
София вышла замуж во второй раз за принца Георга Вильгельма Ганноверского, 23 апреля 1946 года в Салеме, Баден-Вюртемберг. Георг был сыном Эрнеста Августа III, герцога Брауншвейгского и его жены принцессы Виктории Луизы Прусской, единственной дочери Вильгельма II, германского императора и императрицы Августы Виктории Шлезвиг-Гольштейнской.
У них было трое детей:
София умерла 3 ноября 2001 года в Мюнхене. Её второй муж пережил её на пять лет и умер в 2006 году.