主人公陳俊貴出生在北方農村,從小受盡多種磨難,做夢長大了去當兵。他當兵的想法很特別,就想吃上白饅頭。為了能當兵,母親提著半籃子雞蛋領著他去找大隊書記。母親讓陳俊貴跪下喊書記舅舅,書記心軟,同意陳俊貴當兵,他如願以償。
陳俊貴隨部隊開進天山,與戰友們奮戰在築路工地。陳俊貴和班長鄭樹林很快建立了密切關系。壹天,陳俊貴在烤饅頭吃,聽到集合的哨子,他順手把半個饅頭丟進了帳篷旁的汙水桶裏,跟著戰友們跑了出去。後來被連長發現,批評了班長。班長從桶裏撈出那半個饅頭,當著全班的面,壹口壹口吃下去。班長說,我們部隊苦,老百姓比我們還苦,我們是從農村出來的,不能這樣糟蹋糧食。班長知道是陳俊貴扔的饅頭,卻自己承擔了責任。
這年初秋,部隊在隧道裏施工,天山忽降暴雪。壹夜之間,施工部隊和外界失去了全部聯系,給他們送糧送菜的汽車也出車禍翻入山澗。上級以為他們能固守待援,這壹百五十多號人卻因此陷入絕境。連長指導員決定派人送信求救。班長鄭樹林、陳俊貴等四名戰士執行這次任務。他們將僅剩的20個饅頭裝進挎包,在雪地裏爬行了三天三夜。陳俊貴爬不動了,請求班長把他留在雪地裏。班長說不行,我背也要背妳出去。當時,距離有人煙的地方還有幾公裏。大家都堅持不住了,倒在了雪地上。班長用顫抖的手拿出最後壹個饅頭,命令年齡最小的陳俊貴吃。陳俊貴靠這個饅頭支撐著又走了幾公裏,被維吾爾老人救下,完成了報信任務。而班長和另兩個戰士卻長眠在雪地裏……。
陳俊貴退伍回到了家鄉,當地政府安排他到縣裏電影院收門票,後娶妻生子。班長的妻子帶兒子來訪,問丈夫犧牲在何處。她要去看壹眼丈夫後帶兒子改嫁,因日子實在太苦。陳俊貴卻無法說出班長長眠的具體地點。此事對陳俊貴震動很大。陳俊貴突然做出決定帶妻兒返回天山。所有家人都反對,但無法阻止他。
陳俊貴回到天山後,才發現沿著修成的天山路幾百公裏,長眠著壹百多個犧牲的戰友。他決定把這些孤單犧牲的戰友都搬到壹起,搞個小烈士陵園,供親人們和後來人前來吊唁。他下完這個決心後,就開始了與妻子磕磕碰碰的日子。
陳俊貴把第壹批犧牲戰友請下山後,專程去找班長已改嫁的妻子,告訴了班長現在長眠的地方。班長妻帶兒子第壹次來到天山腳下掃墓。此事讓陳俊貴的妻子對丈夫的選擇有了新的認識。轉眼間,陳俊貴的兒子已長大成人。陳俊貴執意要讓兒子考軍校,影響了兒子的學習。兒子高考失利後,只能當兵。陳俊貴很高興。此時,陳俊貴用二十年修建的烈士陵園裏已經有了壹百六十五個戰友。陳俊貴打算再把最後的三個戰友也找到。二十多年過去了,這已經是壹個非常艱苦的工作。當年的連長離開天山二十年後重返天山。升任為總隊長的老連長已接到奉命重修天山路的任務。他帶隊沿老路去看望犧牲戰友時,卻找不到壹個碑。他陷入深深的自責。忽然,老連長聽說了陳俊貴的故事。面對壹大片碑林,老連長也跪下了。新路開工前,先頭部隊來到烈士陵園舉行誓言儀式。幾百名官兵向陳俊貴和陳俊貴身後長眠在烈士陵園裏的壹百多名戰友敬禮。