清朝末年,列强入侵,民生多艰。津门霍元甲(赵文卓 饰)(李连杰 饰),出生武学世家,在家学基础上,独创迷踪拳,一心想跟京城的大刀王五(黑子 饰)比武,以便决出雌雄。这时正逢戊戌变法失败,王五劝说谭嗣同(杨志刚 饰)逃离京城,却被拒绝。谭嗣同终为善扑营抓捕。霍元甲和徒弟高奇(许政国 饰)、许大有(周斌 饰)以及小伍(周裕靖豪 饰),在路上拦住大刀王五,质问其为什么爽先前定下的比武约定。王五无心恋战,卖了破绽认输。霍元甲知道自己并没有取胜,一路跟随王五。善扑营首领鹰四本名吕四鹰,是鹰爪门的败类,他带人袭击了王五住所。霍元甲出手,救下寡不敌众的王五。霍元甲通过在京城牢狱当差的大弟子(王猛 饰)(吴晗 饰)刘振声(陈凯 饰)(贾宏伟 饰),得知谭嗣同等人将在数日后被杀,鹰四则在大牢设下埋伏。王五组织人劫牢,迫近地点时被霍元甲制止。王五并不相信霍元甲的话,所以在大牢附近留了人,最后却真见善扑营的伏兵。王五要求报答霍元甲,后者还是提出两个人比武。苍山塔林,京津两大高手刀枪对决,王五最后却要求义结金兰。刘振声看出了王五与霍元甲结拜的真正意图,正是想通过自己狱卒的身份救出谭嗣同,当刘振声向霍元甲说明时,岂料霍元甲早已得知此事。