McCain nahm als Marineflieger der Navy am Vietnamkrieg teil. Am 29. Juli 1967 befand er sich auf dem Flugdeck der USS Forrestal im Cockpit einer A-4E Skyhawk, als das neben ihm stehende Flugzeug von einer fehlgezündeten Zuni-Rakete getroffen wurde. Es gelang ihm, sich aus dem brennenden Flugzeug zu retten. 90 Sekunden später kam es zu einer Kettenreaktion von explodierender Munition und Treibstoff, bei der 134 Soldaten getötet wurden (siehe Forrestal-Katastrophe). Fortan war er auf der USS Oriskany stationiert.