月能公司在月球背面設有開採基地,山姆貝爾則是這個基地上唯一的工作人員,他在妻子剛懷孕時與公司簽了三年的合約後並前往月球,基地內只有一個機器人戈蒂陪著他,這三年間,他將開採出來的氦-3裝進小太空船並讓其自動飛回地球,而月球的通訊衛星因太陽風故障,所以地球無法與月球進行即時連繫,只能事先錄好影片並藉由木星的衛星傳至月球,山姆藉此看著妻子傳來的影片,並錄製自己的影片寄回地球。過了兩年多,合約只剩兩周,山姆再過不久就能離開月球並帶著大筆獎金回到地球,他卻在探勘時意外撞上採礦車而昏迷。山姆醒來後發現自己躺在基地醫護室,離開醫護室後意外發現戈蒂正與公司高層進行即時對話,因而認為高層其實另有隱情,復健結束後他打算去事故發生地查看,但是公司不允許,並聲明已派出支援部隊前往月球,於是山姆拿工具破壞管線,並告訴戈蒂有隕石撞到基地,需要到外面維修,在戈蒂答應保密後山姆藉機前往事故發生地點,意外發現了另一個昏迷的自己。
山姆這時才發現自己其實是複製人,他自己是在意外發生後被喚醒的,而公司派出的部隊其實是要來把昏迷的山姆處理掉,他決定將昏迷的山姆救回基地,並告訴他真相,然而,昏迷的山姆(舊山姆)醒來後認為自己並不是複製人並與另一個山姆打了起來;被喚醒的山姆(新山姆)之後開始搜索基地,希望能找出放複製人的地方,舊山姆則準備繼續工作;搜索無果後,新山姆告訴舊山姆月球的通訊衛星其實並沒有壞,而是有東西在干擾訊號傳遞,兩人於事出發尋找干擾器,經過一翻搜索後,他們找到了兩座干擾塔,舊山姆因身體不適而先回到基地,新山姆則繼續尋找其他地方。回到基地後,舊山姆發現自己的身體開始惡化,並決定調出三年以前的錄影記錄以釐清真相,然而錄影紀錄被加密過,沒有密碼是無法觀看的,出乎意料的,戈蒂幫舊山姆打了密碼讓他得以觀看影片,觀看影片後,舊山姆意外發現在他之前其實有好幾個山姆,其實只有第1個山姆是真正的山姆,其餘的山姆都是複製人,公司在三年合約期滿之後,就以用睡眠箱送回地球的藉口把山姆殺死,並喚醒另外一個複製人,並將記憶輸入其腦中,讓他認為自己剛到月球,妻子剛懷孕,剛要開始工作等等。
舊山姆隨後問戈蒂為什麼要幫他打密碼,舊山姆認為這樣違反公司的命令,戈蒂回答:我的工作很簡單,協助山姆。
探勘完畢後,新山姆發現了三座干擾器,並將其位置座標紀錄下來,回到基地時,舊山姆剛好發現放置複製人的密室,密室就位於睡眠箱旁的地底下,由於只有要回去時才會到這,所以一直沒被發現,兩個山姆隨後進入密室查看,並發現裡面有上百個山姆,每個都放在冷凍箱中尚未被喚醒,在新山姆繼續探索密室的同時,舊山姆拿了視訊電話出去,破壞了其中一個干擾器並與地球的山姆家聯繫,通話後發現他妻子幾年前就死了,他女兒已經15歲,並不是影片中的3歲,三年間妻子傳來的影片其實都是真正的山姆在這基地3年的時間收到的,公司將其影像存下來,並照時間依序放給後來的山姆看,而真正的山姆其實早已回到地球並待在家中。
舊山姆回到基地後體力不支,在新山姆的幫助下上床休息;之後新山姆發現公司派出的支援部隊馬上就到,而新山姆知道如果公司發現有兩個山姆的話一定會把他們全殺掉,於是叫戈蒂喚醒另一個複製人,打算殺了新的複製人,幫他穿上太空裝,並將他丟在事故現場好讓公司認為舊山姆已死,新山姆留下假裝自己剛被喚醒並從未出過基地,而舊山姆則搭著運輸能源的太空船回到地球,他認為"真正"工作了3年的舊山姆值得回到地球過他的餘生;然而,舊山姆醒後認為自己不行了,並要求新山姆把他帶回事故現場,叫新山姆代替他回到地球,之後新山姆帶著他回到事故現場,並開始準備前往地球。
在支援隊抵達前8分鐘,山姆已準備就緒,正打算離開時戈蒂告訴山姆他已錄下所有畫面,如果公司查看的話,他必死無疑,並叫山姆把自己重新開機,藉此刪除資料,山姆謝謝戈蒂為了他們所做的一切,並照他的話,把戈蒂重新啟動。在支援隊的太空船降落時,山姆趕緊將干擾器的座標輸入採礦車,藉此讓採礦車改變路徑並摧毀之。隨後搭上太空船重返地球,在太空船飛離的同時,舊山姆看到了太空船並感到安慰,隨後嚥下了最後一口氣;支援部隊來了後發現他已死,並發現山姆剛被喚醒,認為毫無異狀並向公司報告。
新山姆飛回地球,揭發公司的陰謀,公司面臨倒閉並被調查。