John McCain studeerde in 1958 af aan de US Naval Academy. Hij ging in dienst bij het leger als piloot bij de Amerikaanse marine.
Hij diende tijdens de Vietnam Oorlog, waar hij gestationeerd was op het vliegdekschip USS Forrestal fire. In 1967 was hij betrokken bij een rampzalig ongeluk op het schip, waarbij een grote vlammenzee uitbrak en 134 militairen overleden.
In datzelfde jaar werd hij tijdens een bombardement neergeschoten en werd krijgsgevangen genomen door de Noord-Vietnamezen. Tot 1973 zat hij vast in Hanoi en werd onderworpen aan martelingen.
Terug in Amerika diende hij tot 1981 als kapitein in het leger. Na zijn pensionering als militair ging McCain de politiek in en werd verkozen tot het Amerikaanse huis van afgevaardigden, waarin hij twee termijnen diende.
In 1986 werd McCain verkozen tot senator van de staat Arizona.