John McCain urodził się 29 Sierpnia 1936 roku w Coco-Solo w bazie lotniczej kontrolowanej przez USA strefie Kanału Panamskiego. Jego rodzina była weteranami wojskowymi, dziadek oraz ojciec byli admirałami Marynarki Wojskowej USA. Ojciec McCaina brał udział w walkach z Japonią podczas II Wojny Światowej jako dowódca okrętu podwodnego. Po zakończeniu II Wojny Światowej rodzina McCaina osiedliła się w Wirginii. W 1954 roku młody McCain wstąpił do Akademii Marynarki Wojennej w Annapolis.
Po skończeniu studiów odbył szkolenie na pilota i w 1960 roku uzyskał stopień pilota lotnictwa szturmowego Marynarki Wojennej. Od wiosny 1967 roku brał udział w operacji Rolling Thunder podczas wojny wietnamskiej. 29 Lipca cudem przeżył eksplozję na statku USS Forrestal, w której zginęło 132 jego towarzyszy. 26 Października w czasie nalotu na Wietnam Północny jego samolot został zestrzelony a on sam dostał się do niewoli. W wyniku katapultowania się miał złamane obie ręce i nogę.
McCain dostał się do tzw. Hanoi Hilton - więzienia, w którym był głodzony, bity i torturowany. Na dodatek strażnicy odmówili mu pomocy medycznej. Mimo ciężkich przesłuchań McCain nie ujawnił niczego poza swoim nazwiskiem, stopniem i datą urodzenia. Początkowo przebywał wraz z dwoma innymi Amerykanami, a potem na dwa lata trafił do izolatki. W międzyczasie zachorował na dyzenterię i poddał się próbie samobójczej. Wietnamczycy cały czas próbowali go nakłonić aby podpisał dokument w którym przyznawał się do zbrodni wojennych. McCain cały czas odmawiał i był za to torturowany. Jak później stwierdził przy życiu trzymała go tylko modlitwa i wiara w Boga.
Mimo, że Wietnamczycy w pewnym momencie dowiedzieli się, że mają do czynienia z synem dowódcy Sił Amerykańskich na Pacyfiku. McCain odpowiedział, że zgodzi się na uwolnienie tylko jeśli pozostali więźniowie też będą uwolnieni. W niewoli spędził 5,5 roku. Wyszedł na wolność 14 marca 1973 r., pod koniec wojny i został odznaczony kilkoma medalami za bohaterstwo. Po powrocie do USA kontynuował studia wojskowe w National War College w Waszyngtonie i otrzymał awans na kapitana. W 1977 r. mianowano go oficerem łącznikowym marynarki w Senacie USA.