德里亚圣公会中学和安那波利斯的美国海军学院接受教育。他接着担任海军的飞行员，在越战执行战斗任务。1967年，麦凯恩被俘并拘禁了长达五年半的时间。长时间的拘留造成了永久创伤，但也使他成为全国知名人物。获释回国后，麦凯恩在1981年退役。他在翌年当选亚利桑那州第一选区的联邦众议员，在1986年当选该州联邦参议员。他成功连任五次，最后一次在2016年当选。他大致上跟随共和党的投票取向，但在此期间曾经偏离党内的主流意见。麦凯恩在2000年美国总统选举中曾经角逐共和党的提名，但被德州州长乔治·沃克·布希击败。