清朝末年,廣東知名教頭童鐵錚(狄龍飾)受廣西鐵嶺綠營司馬之邀,攜子童冠雄(樊少皇飾)赴鳳凰鎮任武教頭。該鎮以風月產業聞名,妓院林立,主要客源為官僚富商及駐軍士兵。童鐵錚初抵時即目睹鎮內奢靡之風,并與頭牌妓女柳飄紅(胡慧中飾)因誤會結緣,兩人漸生惺惺相惜之情。履職后,童鐵錚推行軍紀改革,首令嚴禁士兵夜離營房,此舉觸犯既得利益集團。妓院幕后操控者——捕頭金不換(陳惠敏飾)借機發難,先是屢次滋擾軍營秩序,繼而暗中綁架童冠雄施以酷刑,意圖逼迫童鐵錚就范。面對權勢壓迫與親子受困,童鐵錚堅守武德操守,在柳飄紅協助下聯絡營中正直將領,最終聯合揭發金不換勾結貪官私販軍械的罪行。片尾通過童氏父子與金不換勢力在武場上的生死對決,完成對軍紀敗壞勢力的肅清。