金正隆六年(1161)九月,金主完颜亮让太子留守开封,自己亲率60万金兵,号称百万大军,分四路进兵,浩浩荡荡地向淮北杀来。先头部队占领了长江北岸的重镇扬州,另一路逼近金陵西部的采石镇。
金军南侵的消息很快就传进临安城,宋高宗吓得魂飞魄散,打定主意逃到海上避难,还发出一道诏书要遣散百官。宰相陈康伯激愤之下把皇上的诏书烧了,力请高宗上朝。陈康伯和众大臣又是劝说,又是激励,高宗才稍稍振作起来,下诏派枢密史叶义问亲自视察江准守军。叶义同是个胆小鬼,不敢上前线,另派中书含人(文官名)虞允文到采石慰劳宋军将士。虞允文来到采石,原来的宋军主帅王权被罢免,接替他职务的新帅李显忠还没到,而长江对岸的金兵已经做好了随时渡江的准备。
宋军没有主将,人心恨,三三两两地坐在路旁马鞍和盔甲丢在一边。虞允文暗自吃惊,队伍这样涣散,非打败仗不可。他是个书生,从来没有指挥过打仗,但他不能眼看着国家沦亡,就立刻把宋军将领召集起来,对他们说:“我是奉朝廷之命前来劳军的。只要你们为国家立功,我一定报告朝廷,论功行赏宋军将领们人人都有一份爱国心,只是群龙无首,既然有人出头了,他们纷纷表示一定努力杀敌。
虞允文见人心可用,信心更足了,他马上发布命令,将步兵和騎兵都排好阵势,又把江面的宋军船只分为五队,一队在江中突前,两队停泊在东西两侧岸边,另外两队隐蔽在港汉里做后备队。宋军刚刚布置完毕,只见完颜亮亲自挥动小红旗,几百艘金军大船满载着金兵向南岸驶来。金兵登岸了!虞允文一声令下,部将时俊挥舞着双刀,带头冲进敌群,宋军士兵随后跟进,拼命冲杀。与此同时,江面上的宋军战船也向金军的大船冲去。宋军的战船体积小,但行动迅速,名叫“海船”,船头还包着铁甲,就像尖利的钢刀。
金军的大船除非不让海鳅船撞上,一撞上就被拦腰撞断,沉到江底。太阳下山了,天色渐渐暗了下来,但战斗还没有结束。这时候,正好有一批从光州(今河南潢州)逃回来的宋兵到了采石。虞允文把他们组织起来,发给他们许多战旗和军鼓,让他们据动旗帜,敲响战鼓,从山后绕到江边来。金兵看到山后无数旗帜在晃动,听到岸边鼓声震天以为宋军的援兵到了,纷纷选命。金军自进兵以来,还没有遭到这样修重的失败,完亮暴跳如雷,把一肚子怒气全发泄在败兵身上,很多士兵都被他打死了。
第二天天刚蒙蒙亮,完颜亮再次派金军渡江,虞允文早有防备,指挥两队战船一起夹击,将300条金军大船困在江心和渡口动弹不得。宋军放起把大火,把这些船烧个精光。完亮在采石波江失败,又带着剩下的人马来到扬州,想从那里改红。允文又赶到扬州对面的镇江,命令水军在江边搞演习。金兵看到宋军的船只在江面上往来如飞,又是害怕,又是吃惊,赶快报告完颜亮。此时的完亮刚刚接到密报,留守东京的完颜雍在一些女真贯族的拥戴下,登上了皇位,他进退两难,气急败坏,报信的人平白无故挨了他一顿板子。接着完颜亮宜布,第二天全军渡江,敢有畏缩不前选跑者,格杀勿论!
金军将士已经让虞允文率领的宋军打怕了,他们认为渡江肯定是死路一条,而不渡江又逃不过完颜亮的毒手。既然横竖都是死,他们索性造反,当天夜里闯进完颜亮的大营,用箭把他射死了。