在国家内战、军阀割据的乱世时代,普城保卫团团长杨克难(刘青云饰)捉拿了杀害三条人命的军阀少帅曹少璘(古天乐饰)。然而,曹家财雄势大,张亦(吴京饰)作为曹少璘的得力上校,赶到普城要求放人并威胁全城居民。此时,浪人马锋(彭于晏饰)路见不平,欲拔刀相助,但面临正义与兄弟情之间的抉择。
杨克难作为普城保卫团团长,手持两米长鞭,威武霸气。他坚决地捉拿了杀害三条人命的曹少璘,准备执行死刑。然而,张亦突然出现,亮出曹少璘的强大背景,要求放人并威胁全城居民。面对张亦的压力,杨克难率领众人御敌。
曹少璘是即将接管普城的军阀少帅,将军曹瑛之子。他因在普城杀了三个人而被杨克难抓获。在被捕后,他与杨克难玩了一场游戏,只用命令下属张亦帮他打。
马锋是一位武功高强的浪人,同时也是押镖镖师。他与师兄张亦从小一起长大,年少时被师傅责罚,同吃一个鸡蛋充饥,感情深厚如亲兄弟。然而,成人后两人意外反目成仇。马锋外表粗犷,隐藏着逗比的个性及高深莫测的武功。
张亦作为武艺高强的铁血上校,效力于曹少璘。从小练长枪的他在乱世中无奈跟随杀人如麻的上级。虽然他的长枪本想挥洒正义,但却无奈沾满了鲜血。他得知曹少璘被抓后,立即赶往普城取人,并在城中重逢多年不见的师弟马锋。他一人对峙保卫团众人,并与马锋在酒坛上展开激战。
周素素作为保卫团团长杨克难的妻子,是一位英勇的女中豪杰。她以手拐为武器,文能处理好保卫团家事,武能帮助丈夫对抗外敌。
白玲则是一位学堂老师,看似柔弱实则内心无比坚毅。她带着一群学生逃到普城,因为她的关系导致杨克难与曹少璘一见面便兵戎相对。
《危城》这部电影中,刘青云使用的长鞭是动作导演洪金宝为他量身打造的。而彭于晏在拍摄时面临极大挑战,在洪金宝的要求下拍摄了53条才过。吴京不仅带伤上阵,还在近40度的高温下演打戏。江疏影为了保持心有余悸的情绪中在拍摄前一个晚上反复看悲伤的电影。而袁泉首次尝试打戏,拍摄时十分投入。
《危城》创造了陈木胜和洪金宝很多拍摄纪录。影片不仅融合了黑泽明电影和西部片中侠义精神的精华,还融入了西部片元素和传统港片的况味。全片故事发生在24小时之内,情节跌宕起伏引人入胜。同时,洪金宝的助力使得精彩绝伦的动作场面完美融入故事之中。影片在保持中国动作片特色的基础上重新诠释了侠义精神。《危城》作为一部新类型动作片令人眼前一亮。