1949年,解放軍某衛生隊隊長高慶祥,受生命垂危的徐團長之托,去小山村接徐團長的女兒小燕。誰知在橫嶺鎮,小燕突然失蹤,後被人殺害,死時手中攥著壹個糖猴,高慶祥痛不欲生。回到衛生院後,他在死不瞑目的徐團長面前莊重發誓:壹定要抓住殺害小燕的兇手,為孩子報仇。當晚,高慶祥的婚禮也不歡而散。兩年後的肅反中,橫嶺鎮抓獲了壹名血債累累的反革命分子張金華,囂張地稱小燕也是她殺害的。高慶祥趕到並在他家中搜出了吹糖人的工具,讓他當面吹出糖猴。誰知在張金華被槍斃的第二天,又發生了和當年小燕壹樣的慘案,又壹個女孩被先奸後殺。在案發現場也發現了壹個糖猴,這個糖猴比張金華吹的更復雜,肚子裏有糖稀,孩子們都叫它“猴拉稀”,只有吹糖猴的高手才能吹得出來。張金華的老婆和兒子小山找上門來,要求把案情弄清楚 。
衛生隊就要進城了,高慶祥卻要求復員留在了橫嶺鎮派出所,他要實現自己的誓言,抓住兇手,保證這壹方山村的平安。但事隔久遠,線索全無,二十年來破案無望,愛人無奈和他離了婚,高慶祥無怨無悔,始終盯著嫌疑人——瘋瘋傻傻的趙松林。 1972年,自以為逃過法網的嫌疑犯趙松林再次作案,用糖猴把女孩荊花騙上山,正要下手,幸虧高慶祥及時趕來。案犯趙松林倉皇出逃,高慶祥全國各地追尋。
轉眼高慶祥已年過古稀,被送進養老院,對五十年無結果的追兇歷程他百感交集,以為抓獲兇手已成泡影,誰知聽說養老院還有壹個叫高慶祥的老人,他才發現這個和他同名同姓的人,正是他找尋五十年的兇手趙松林。可此時已無人能證明趙松林的真實身份。高慶祥找來吹糖人的工具,引得趙松林吹出當年在犯罪現場多次出現的罪證——“猴拉稀”,高慶祥死死抓住趙松林的手腕,半個世紀的夙願終於實現。
在解放戰爭的最後壹年裏,解放軍的某地野戰衛生隊裏,隊長高慶祥在緊張地安排著傷員們的壹切,壹批傷員傷痊後告別高隊長重返前線,相約等全國解放後再回來看望這個為他們治療費盡心血的衛生隊長。壹個隊裏的衛生兵急急跑來,對高隊長說徐團長急著找他,他馬上急步走進徐團長的病房裏去,這位炮兵團長是在最近的壹次作戰行動中受了重傷,經搶救後人是醒過來了,但生命仍然垂危,當高隊長進到徐團長的病房時看到徐團長在呢喃的叫著:燕子,燕子。旁邊的護士對高隊長說燕子是徐團長的女兒,打日本鬼子時孩子母親犧牲了,就把孩子送給了當地壹家農戶,在離這個衛生隊兩天路程的村子裏,徐團長想在臨終前看壹眼自己的燕子。 看著昏迷中的炮兵團長,高隊長答應親自去接回這個叫燕子的孩子,讓重傷中的徐團長壹了心願。
按照徐團長提供的地址,高隊長順利的找到了那家農家,當地也是解放區了,這家農戶很爽快的把孩子交給了高隊長,高隊長給農戶留下了些錢和被子後帶著約七歲左右的小女孩燕子告別了她的養母,踏上了返回的路程。壹切看起來很順利平安,返程的當天晚上他們到達壹個叫橫嶺鎮的地方,天色不早,高隊長打算在此息腳,明天再趕路。於是他帶著燕子在鎮上的路邊小攤子上吃了面條,因壹時內急,請飯館老板照看壹下尚在吃面條的燕子,等他方便過後回到飯館處,燕子卻不見了,他急了,到處尋找不見,只得到當地公安部門尋求幫助,當地公安部門全力投入尋找仍不見蹤影;焦急之中有壹放羊人來報,在鎮子後山上發現孩子,眾人來到後山壹看,在壹山坡地上草叢中,七歲的燕子被先奸後害,手裏還拿著壹個糖人猴,抱著小小的燕子,高隊長淚如雨下,他自責他內疚,想著生命垂危的徐團長,他滿腔怒火。當地公安機構全力偵辦此案,壹天後有消息傳來,兇手也被捉拿到了,這是鎮上的唯壹能做糖人的手藝人,當年此人還當過土匪,欠有人民血債,高隊長親自和公安所長壹起審問此人,並查看了此人現場制作糖人猴,結果制出的糖人猴和燕子被害現場的壹模壹樣,於是,在那個特殊的年代,那人被槍決了。
就在高隊長和公安所長晚間吃分別飯時,公安戰士來報,鎮上又出了壹件小女孩被害案,手法和燕子壹樣,在現場也找到了壹個糖猴,這個發現讓高隊長和公安所長心驚不已,也槍決的那人不是真正的兇手,於是他們又重新投入偵破工作,可幾天過了,壹無所獲,高隊長只好和所長告別,趕回了衛生隊。回到隊裏,他新婚妻子也從文工團調來衛生隊工作,但他卻壹點也高興不起來,護士告訴他,徐團長也犧牲了,他看到徐團長至死不閉的雙眼,心裏湧起壹陣陣的痛楚,他愧對徐團長,他發誓壹定要抓住兇手為燕子報仇。隨著戰爭的迅速發展,衛生隊要隨大部隊進城了,但高隊長心裏因對徐團長和燕子的事耿耿於懷,他打了報告轉業到了燕子出事的橫嶺鎮公安所,而他的妻子則隨衛生隊進城去了。鎮派出所所長熱情的歡迎高慶祥,他也知道高隊長之所以要來這個所是因為燕子被害之案沒有結果,他內心受到煎熬,他要親自抓到兇手為小燕子報仇,讓兇手得到應有的懲罰;於是,高隊長就成了高公安,在接下來的十多年裏,他兢兢業業的投入到當地的公安工作中去,同時他認真仔細的做調查研究,希望能把兇手揪出來以慰燕子在天之靈。
十年過後又是遇上文化大革命,公檢法工作受到很大的沖擊,高公安也壹樣被下放到農場了,但他仍然癡心不改地投入偵破工作中去,他去當地各主要人口流動的地區查訪,下到偏僻的小煤窯調查,但兇犯象是從人間蒸發了壹樣了無音訊。由於高公安執著於追兇,使在城裏的妻子幾十年來忍無可忍了,向他提出了最後的通牒再不回城工作就要分手了,高公安寧肯離婚也要完成自己的心願,他要對得起自己的誓言,對得起小燕子和徐團長的在天之靈,於是,他謝絕了縣公安局的調令和妻子辦理了離婚手續。時光在壹年年的過去了,當年衛生隊的下屬也當上了區長,成了他的上級了,壹次,區長來檢查工作,看到老首長還是個普通民警,心裏很過意不去,提出要調他到上級公安機關去工作,高公安謝絕了,仍然在這個小鎮上當著公安,他還有未了的心願,那個兇手沒有受到應有的懲罰。
由於高公安單身壹人,為方便工作,1972年所裏同誌給他聯系了壹家農家搭夥,這家當時有個小女孩子也是七八歲的樣子,非常可愛,高公安便想起遇害的燕子來,時常的對這個小女孩子愛護有加,照看有加。壹天,小女孩出門後,快天黑了都沒有回家,高度警惕的高公安急忙和家長四處尋找,他產生了聯想,尋找到後山上,遇上了正在實施犯罪的罪犯,高公安的出現,讓罪犯驚恐萬狀,他利用熟悉地形的優勢, 在夜色的掩護下襲擊了高公安,在這危險時刻,當地青年小山幫助了他,壹起打跑了犯罪嫌疑人,可喜的是小山也看清了這個的真實面目,原來是小鎮上的瘋子劉松林,其實這個人並不瘋,只是平時裝瘋賣傻,讓大家都認為他是精神病人,在橫跨幾十年間作案對幼童實施犯罪,公安機關迅即對劉松林進行了抓捕,但此人卻從此銷聲匿跡了,接下來的日子,高公安和同誌們反復的查尋,就是不見蹤影。這成了高慶祥的壹塊心病,真兇也露面,但也從地球消失壹般,他常常自責不已,直到快退休了才服從組織安排進了縣局工作,工作之余,他仍然四處尋找這個讓他心魂不寧的劉松林。
五十年過去了,高公安也七十多歲了,他沒有孩子,沒人照顧,就進了本縣的養老院生活,在進到養老院的那天,剛安頓好住處,服務人員就告訴他這裏還有壹個叫高慶祥的人,不過也患老年失憶癥了;高公安壹驚,心想這世上還真有這麽巧的事,他倒要看看這個叫高慶祥的人是怎樣的壹個人。當他問到後排壹間房間時,他呆住了,原來這個叫高慶祥的人就是他追蹤了五十年的殺害燕子的兇手,那個在1972年再次作案後便消失了的人――劉松林。通過了解,當年劉松林犯罪後,潛逃在縣裏的火葬場以高慶祥的名字幹上了壹名燒屍工,壹幹就是三十多年,直到年老生病入養老院,這個讓公安機關通緝多年的逃犯居然就在大家的眼皮底下!五十年來的委曲和憤怒,千言萬語壹起湧上心頭,但此時的劉松林也仿佛失去了記憶,高慶祥要讓這個兇手恢復記憶,要讓他得到應得的懲罰。為此,高慶祥每天和劉松林聊天,啟發他的記憶,還專門回到小鎮上取回了吹制糖人的工具,讓劉松林觸景生情,產生了記憶,當著眾人吹出了當年用於吸引害死燕子和另壹小女孩子的糖人猴,由於有了鐵的證據,最後讓劉松林得到了法律的懲罰!應驗了那句老話:法網恢恢!