《枪王之王》的故事由一场实战射击比赛开始。(古天乐饰)的外汇投资经理关友博在比赛夺冠后携枪离去,途中却巧遇一桩劫案。为了拯救一名交通警察,关友博开枪制止劫匪杀警。此义举使得他成为市民眼中的英雄,然而关友博的手下败将——也是调查此案的警官庄子维(吴彦祖饰)却另有发现,在他的心里有着种种纠结,从怀疑到相信,最后在苗哥(方中信饰)的帮助下解开重重迷雾。影片一开始的那个关友博与歹徒枪战的场面可以理解为关友博自己在被警察带走后的证词还原的现场,因为现场除了逃走的人,目击者只有关友博一人,这也是为什么吴彦祖饰演的庄子维对其产生了怀疑。但苦于没有人证物证,只能简单起诉关友博非法使用枪械。陪审团做出裁决前,媒体铺天盖地的宣传关友博的“英雄”事迹,加上邵安娜在幕后黑手的鼎力相助,最终被判无罪。可是一些细节的石子再次将已经平静案件的水面打破,一是逃走的人尚未被抓获,二是关友博神情紧张的在做着外汇的买卖,此时恐怕只有端坐在距离屏幕很近的朋友才能看到关友博屏幕现实的内容,他用自己赚的外汇填补邵安娜亏损的外汇。这时,又回想起方中信所饰演的苗警官的一席话“那些富豪个个有钱,为什么不退休呢?”。而当关友博被逃走的劫匪袭击后,事情的真相开始浮出水面,关友博从自己的跑车中取出了被抢的不记名债券。而之后在枪会更是爆出了他与逃走劫匪的关系。但由于没有任何的人证物证,无法对其采取任何措施。在方中信帮助下,庄子维设了一个局,让(蔡卓妍饰)的婷婷告诉他“交通警会醒”,果不其然,关友博在夜间的行刺被抓了个人赃并获。不甘心失败的他决定做最后一搏,但其想法早已被庄子维所掌握,失败之后,关友博决定与庄子维比个高下。两人几乎同时开枪,不过画面看得出,关友博手快一些。庄子维击中了关的左手,打掉了他的枪,关的子弹击中了庄的胸口,由于避弹衣的保护,庄躲过一劫。最后的时刻,关再次想要拿起手枪,被埋伏在上面的交通警的孪生哥哥击毙。通过最后的决斗,看得出,真正的枪王之王是庄子维,因为他瞄准的是对手的手,而不是致命部位。用枪的最高境界不是杀人,而是救人。