1、八匹純血高頭白馬四蹄翻飛,車輪與鐵軌撞擊隆隆作響,兩節火車正以“馬拉火車”的夢幻奇景奔騰在南部中國的崇山峻嶺之間。火車車頭的煙囪裡蒸汽蒸騰而上,不過這蒸汽的來源其實是車廂內巨大的火鍋。火鍋旁圍坐著買官上任的老湯(葛優飾),以及他的夫人(劉嘉玲飾)和師爺(馮小剛飾)。志滿意得的老湯不知道,一場危機正在等待著他,他們的命運也將從此改變。
2、就在老湯等人在火車內飲酒作樂之時,綠林俠匪張牧之(薑文飾)率領眾兄弟們埋伏在山谷兩側。幾聲槍響劃破天際,隨著張牧之“讓子彈飛一會兒”的話音落下,一場讓人眼花繚亂的劫案就此展開。火車騰空而起跌落水中,老湯和夫人成瞭張牧之的階下囚。為求保得性命,老湯靈機一動謊稱自己是師爺,和張牧之踏上瞭進城當官的縣長之路。張牧之從麻匪搖身一變化名清官馬邦德上任鵝城,而他和老湯之間的關系也從生死宿敵變搭檔。
3、上任鵝城,張牧之躊躇滿志。鎮守鵝城的惡霸黃四郎(周潤發飾),則虎視眈眈。號稱南國一霸的黃四郎,靠走私軍火和販賣華工起傢,在軍閥割據的年代裡權傾一方。他門客雲集、擁兵自重;欺男霸女、橫行鄉裡。獨孤求敗的黃四郎對這個膽敢買官上任的“馬邦德”充滿興趣,他以為此人不過又是一個隻來掠奪錢財的草包,全然不知馬邦德的真實身份竟是悍匪張牧之。心懷鬼胎的“師爺”老湯則周旋在張牧之和黃四郎之間。
4、原本隻想撈些實利的張牧之,上任鵝城之後卻雄心百倍。黃四郎及其鄉黨欺男霸女的所作所為,激起瞭張牧之從未泯滅的救國救民熱情。他白天是福爾摩斯般的清官,審冤斷案。晚上是羅賓漢式的悍匪,劫富濟貧。此番種種舉動當然觸犯瞭黃四郎的利益,兩種勢力在鵝城水火不容,刀鋒相見,兩邊連番使出美人計、雙簧計、空城計等種種計策,雙方你來我往鬥智鬥勇,一樁樁命案在鵝城接連發生,火拼械鬥也不斷升級。
5、英雄的傳說總是被人傳頌,曲終人散之後,張牧之才明白瞭自己最終需要的是什麼。