小黎(邬玉君饰)是个女警察,小白(潘粤明饰)是个小混混,他们在同一地方出没,却并不相识。一次小白被贩毒团伙的人追杀,在地铁站里,走投无路的他冒犯了小黎,并把关键的呼机偷偷扔在了小黎口袋中。被轻薄后的小黎又气又恼,小白通过呼机对小黎“展开攻势”,但小黎脾气未退,也不愿还他呼机。
小黎父亲(陈友旺饰)警告女儿不要再跟着小混混往来,但小黎发现自己爱上了小白。之后她铤而走险独闯小白的家,正好撞见了来要挟小白的团伙老大。危险时刻,父亲出现拯救了小黎。但小黎误认为小白是凶手,并在独闯中被抓,小白遭到怀疑。最后,老大让小白打死小黎以证明清白……。清光绪二十六年,枪王程子清想借助朝廷力量购置枪炮与洋人决战。黄团首领赵三多与“红灯照”首领林黑儿误认程子清是奸细,派红灯照莲花携毒镖与黄团二首领高元祥暗杀程子清。面对洋人的入侵,以光绪为首的主和派和以端王、庄王为首的主战派发生争执。狡诈的慈禧决定让义和团和洋人厮杀。程子清劝说上了当的高元祥不要攻打德国使馆,高非但不听,反与枪王打在一起。顿时,枪声四起,程子清掩护高元祥退出险境。
茶馆里,枪王告诫穿着红灯照标记红鞋的莲花赶快离去,免露踪迹,莲花备受感动。一个夜晚,程清乘机窃走了来妓院嫖妓的洋人的枪,同时听到洋奴段德昌对赛金花的一席话,继而又遇高元祥.正欲动手,高被飞来的瓦片打落房下,枪王救下高元祥,与赶来的段德昌等人打在一起。枪王来王府送枪,听到端王与李莲英的密谈,才知朝廷只足利用义和团,大为失望。枪王闭德国使馆时.落入克林德的圈套,因寡小敌众坠窗昏倒,幸被慈善院院长华裔德籍人林罗密救走。莲花返回大营时,正遇洋人偷袭“红灯照”,幸亏枪王带洋枪队赶到解了重围。
枪王与莲花回京找高元祥,发现高元祥中计火烧使馆。突然,高元祥中弹。被救到教堂,枪王和莲花与黄团三首领潘友会见面,枪王认出他就是在德国使馆中夹击他的蒙面人。潘友会拔枪射击,莲花为掩护林罗密中弹身亡。受伤的高元祥奋力掐死了潘友会,用莲花手中毒镖刺进自己的胸膛。慈禧决定对洋人宣战。枪王独闯德国使馆,抓住了克林德,克林德以抓住的林罗密相要挟,枪王同意撤离,但克林德突然举枪射击,林罗密中弹身亡。愤怒的枪王击毙了克林德。。