1948年冬天,解放軍攻城部隊對閻錫山盤踞的太原城開始了長達5個月的圍困。主人公小號手是一名失去雙親的孤兒,作為連長的叔叔收留他在隊伍中,并給他安排司號手的職務。但連長心里始終想讓小號手遠離戰爭,找到一個合適的人家做兒子。小號手性格樂觀、幽默、勤快、機靈。在部隊輪換休整的過程中,連長的隊伍住進了太原郊區東山上的南梁村,故事就發生在這個村子里。小號手在部隊的一次與敵人的作戰中,在沖鋒的一刻未能吹響沖鋒號,自己懊悔不已,后又在行軍的路上冒犯了正在上墳的三妮和女兒轉。部隊休整住進了南梁村,小號手和五六個戰士竟然被安排住進了三妮的家。南梁村村婦三妮因10歲的兒子成剛剛不幸夭折了,三妮一家陷入痛苦中不能自拔,但為了支援前線,他們還是忍住悲傷盡心照顧著小號手和戰士們。小號手因為在戰場上沒能將軍號吹響一直心存愧疚,部隊休整期間他刻苦練習,希望能成為一名合格的司號員,能有機會再上戰場參加戰斗。村中的孩子們看到小號手練習吹號,對小號手非常好奇,千方百計的想與小號手接近,希望也能吹一下軍號,但小號手視軍號如生命,經常為此和小伙伴發生沖突。盡管一開始小號手給三妮和女兒轉留下很不好的印象,小號手也與南梁村以栓子為首的孩子們發生了一些沖突,多次受到連長的嚴厲批評和處罰。但小號手的到來也沖淡了三妮的哀傷,小號手從三妮身上也感受到了母愛。為了能使小號手遠離戰爭,連長和三妮的男人長生商量決定搞一個儀式,讓小號手認三妮做干媽,等打下太原城后,就讓小號手留在南梁村好好給三妮夫婦當兒子,過上安穩的生活。小號手在與三妮一家和村民的相處中也逐漸產生了感情,欣然接受了連長的建議。在大軍發起總攻的前夕,小號手帶著三妮來到一排排白茬棺材前。小號手指著寫有自己名字的棺材告訴三妮,他一定會在總攻中吹響他的沖鋒號,如果要是他光榮了,就把他裝進這口棺材埋了。三妮雖然不舍得小號手離去,但為了緣小號手能在戰場吹響軍號的夢,忍痛答應了小號手參加總攻的要求。小號手告別三妮媽媽,跟著連長他們奔赴攻城前線。清晨,三妮和轉站在南梁頂上,遠眺遠處的沖天火光和隱隱傳來的炮聲,仿佛聽見了小號手嘹亮的沖鋒號。第二天黃昏,站在村口等候小號手歸來的三妮看到的只是連長手里那把變形的小銅號。三妮手里的蔥花烙餅散落一地。三妮讓把裝著銅號和新夾襖的棺材埋在兒子成的墳旁。高高的崖頂上,南梁村的孩子栓和小伙伴們用嘴吹起了小號手教會的休息號,悠揚的休息號聲,回蕩在春天返青的果園里。