西元2035年,美國國家航空暨太空總署(NASA)的戰神三號(Ares 3)進行載人登陸火星任務,任務原定全長31火星日,但在第18火星日(Sol 18)遇上時速175公里的沙塵暴而被迫中斷任務,所有人登上火星接駁小艇(MAV)離開。但在撤離時,太空人兼植物學家馬克瓦特尼不幸被吹飛的天線打中失去蹤影。任務指揮官瑪麗莎路易斯因上升載具過於傾斜而放棄搜尋瓦特尼,被迫下令太空艙發射升空,而瓦特尼也因生命特徵探測儀故障而被認定已經死亡。
在組員離開後,瓦特尼被太空衣的警報聲吵醒,發現自己被遺留在火星,並且太空衣被天線刺穿,幸好天線和流出的血把破洞封上,瓦特尼立即衝回居住艙(Habitat Module)處理傷口。之後開始點算物資,發現剩下的物資只能支持他一個人過309火星日,而下一次任務組員到火星需要4年時間。瓦特尼便繼續尋找其他物資,並發現一個原定感恩節打開的箱子內塞滿了馬鈴薯。所幸瓦特尼是一名植物學家,瓦特尼決定用火星的土壤在居住艙種植馬鈴薯來續命。瓦特尼使用登陸艙留下的下降段用剩的聯氨來製造水(N2H4+ O2 → 2H2O + N2↑)來灌溉,並使用自己和其他組員的排遺物作肥料,成功種出馬鈴薯幼苗。
在第54火星日,NASA的地面人員透過衛星圖片發現戰神三號營區的火星探測車被移動過,太陽能板也被清潔乾淨,從而得知瓦特尼仍然在世,一邊繼續透過火星軌道衛星觀察,一邊籌備營救行動。之後,控制中心也觀察到瓦特尼駕駛火星探測車駛離營區,在計算其路線後確定瓦特尼正前往1997年所發射,因為小故障而失聯的拓荒者號降落地點。一小隊人立即前往噴氣推進實驗室尋找拓荒者號的複製品,並成功收到瓦特尼重啟拓荒者號傳送的訊息。
最初雙方只能透過拓荒者號的旋轉攝影機使用簡單的是非題對話,傳送對話更需約32分鐘,但瓦特尼覺得需要更複雜的天文工程對話,而26個字母加上問號會使得鏡頭旋轉角度太小(13度)造成辨識困擾,便從電子技術人員貝絲·喬韓森的筆電中找到16進位的標準代碼表,開始跟地面控制中心進行更複雜的對話,並根據地面控制中心的指引駭進火星探測車的電腦,令NASA透過拓荒者號連上探測車的頻段,從而能用文字進行對話。
過了一段時間,在第134火星日,當瓦特尼在返回營區時,居住艙突然發生爆炸性失壓,全部正在種植的馬鈴薯因暴露在火星的低溫低壓環境而死亡,且無法再次復播種植,瓦特尼只能倚靠之前收成的馬鈴薯生存下去,並將於600天左右斷糧。太空總署也決定發射搭載愛麗絲號(Iris)補給艇的擎天神5號運載火箭來把瓦特尼的任務時長拉長到接近900火星日,讓瓦特尼能撐到戰神四號任務抵達火星。但因時間緊迫而沒有進行全面檢查,因此忽略了這次補給是運送蛋白質塊,在發射時,產生的超重令蛋白質塊液化,導致愛麗絲號重量不均,令火箭在發射後約45秒因異常震動,於半空爆炸解體。
此時,中國國家航天局伸出了援手,向NASA表示中國的太陽神火箭能協助美國把愛麗絲號送到火星,NASA後來總結出兩份計劃:一是把愛麗絲號直接用太陽神送到火星,讓瓦特尼等到戰神四號的組員抵達;二是把愛麗絲號送到正在減速的賀密斯號(Hermes),並讓其加速,進行重力助推前往火星,把瓦特尼接走。NASA選擇了第一個,但飛行總監米區祕密地把計劃二的內容告知戰神三號的組員,並在全員贊成的情況下強行修改航道,迫使他們發射火箭,把愛麗絲號送上來。
NASA把計劃二告知瓦特尼,並指示他再次改裝火星探測車,前往預定戰神四號使用的接駁小艇的所在地。但噴氣推進實驗室的研究員發現:因賀密斯號進行重力助推後速度較快,只能進入較高軌道,而上升載具要載著一個人到達這個高度,必需減掉五千公斤的質量。因此,他們指示瓦特尼到達後把火箭的鼻錐、窗戶、控制台、座椅等等拆掉,僅剩下一張椅子和船殼,並從賀密斯號遙控升空。
在全球注目下,瓦特尼坐著戰神四號在戰神三號的駕駛員瑞克·馬提尼茲的控制下發射升空。但接駁小艇的高度不足,無法與賀密斯號會合。戰神三號的組員們商量後決定用姿態控制火箭下降高度,並引爆氣壓艙來減速,最終與接駁小艇的距離縮小為312米,相對速度降至每秒5米。而瓦特尼也刺穿手套令自己加速將距離縮短,並由指揮官露易斯成功抓住瓦特尼,把他帶上賀密斯號,返回地球。而全世界看著電視轉播的民眾也歡聲雷動。
最後,瓦特尼登出了太空人行列,轉為太空人培訓計劃的導師,並在第一天向學生分享了他在火星生存的經歷。而中美兩國也以此為契機召開載人登火合作,後來發射的戰神五號火箭中,加入了中國太空人的身影。