清末民初,苏家和万家都在广州开设武馆,因同行相忌,两家素有 怨隙,但苏家独子灿(周润发饰)与万家幼子豪(刘德华饰)却成为莫逆。灿、豪二人因际缘结识马坤(苗侨伟饰)及萧玲(米雪饰),灿与玲情投意合,双双陷入恋爱之中。 灿父因误服“宁神丸”中毒身亡,灿被诬弑父,还押收监。玲为救灿失身于郑队长,灿被坤救出狱后,误会玲水性杨花,一怒之下,与坤、豪同 往省城发展,吃尽苦头,幸得盈盈(陈秀珠饰)的鼓励和泉伯的协助才得以重开武馆,但却受到当地武馆的排挤和挑衅…… 玲到省城后重遇坤,坤向玲救婚,玲深知己与灿已无法复合,于是坦然接受坤的好意。另一方面,灿终在郑队长处得悉当年真相,欲找玲冰释前嫌,但为时已晚,灿痛悔之余,向盈盈求婚。 坤被郑队长利用偷取军事蓝图,但蓝图却辗转落在灿手上,坤因误会打死了豪。此时,玲搜出坤与日本人合谋的罪证,灿得知一切真相之后,悲愤交集,誓要替豪报仇,毅然应约与坤决一死战……