淮东一带,原由老将刘锜担任防守。他年老多病,实际上已经不能处理繁重的工作。虞允文深恐金人乘虚而入,便自告奋勇,请求李显忠拨给他一部分军队,去支援淮东。李显忠很钦佩他,立即调拨步兵16000人和一部分水军,要他星夜开向京口。虞允文来到京口,首先去拜会老将刘锜,征求刘锜对防务的意见。刘锜在病榻上感动地说:“想不到朝廷养兵30年,竟然首先让你这样一个书生建了大功,真叫我们武将羞愧死了!”虞允文安慰了他一番,连忙会同其他将领来到防地。他看到镇江江岸的船舰太少,怕不够用。便命人把车船都改成战舰。他怕“车船”(用车轮踏水的大型战船)临时发生故障,就命令宋军车船围绕金山试航三圈,结果运转非常灵活。金军在北岸望见,都异常惊讶。完颜亮故作镇静地说:“这不过是纸船罢了,有什么大惊小怪的!”有一个金军将领指出,瓜洲江面比采石宽阔,南岸宋军早有准备,请求完颜亮不要忙着进攻,不如驻兵扬州,慢慢再说。完颜亮不但不听,反而打了他50军棍。完颜亮一再用严酷的军令叫金军渡江,命令规定:“军士逃亡的,杀死部将;部将逃亡的,杀死主将!”这样一来,越发使得军中人人自危,骚动不安。一部分金军将领秘密商议,准备率众起事,杀死完颜亮。
十一月二十七日黎明,金将完颜元宜率领将士们来到完颜亮的御营。完颜亮听到喧哗声,从梦中惊醒,还以为是宋军来劫营。他急忙披衣坐起,早有一支羽箭嗖的一声射入帐中,完颜亮拣起来一看,不觉大惊,原来是金军的箭。他正要去取弓反射,已被营外金军一阵乱箭射中了。金军将士一拥而入,见他倒在地上,四肢还在动弹,就用绳子把他勒死了。这个杀人不眨眼的暴君,终于落得了悲惨可耻的下场!
采石之战,宋军在虞允文的指挥下,以少击众,以弱击强,获得了全胜,扭转了当时的危急局面,维持了南宋的偏安。可惜以宋高宗为首的南宋投降派没有抓住这一转机,乘胜北伐,收复失地。虽然这样,采石之战在南宋历史上仍然起了重大作用。虞允文的功绩是值得后人称颂的。
金军虽然遭到惨败,可是贪残凶暴的完颜亮并不死心。他看到军事进攻没有成功,就想用离间的手段来达到他的目的。他写了一封信派人送到宋营,信上劝王权向金投降,答应给王权以高官厚禄。这时候,宋军新任主将李显忠已经来到采石。虞允文识破了完颜亮的离间计,就用李显忠的名义写了一封回信,来揭露敌人的阴谋。信中大意说:“现在我国统兵的将领已换了我李显忠,难道你还不知道我的大名吗?如果你要从瓜洲(在扬州境内,位置在运河流入长江的汇合口)渡江,我一定在那里等你,决一死战!你用不着虚声恫吓。”李显忠派了两名金军俘虏把信带到江北。完颜亮见信大怒,当即下令把军队开到瓜洲渡口,妄想从这里渡江,夺取京口。
把完颜亮处死之后,金军从瓜洲向北撤退30里。完颜元宜用都督府的名义,派人持信到京口宋营议和。不久,所有在荆州、襄阳和两淮的金军,都拔营北还。金对南宋的威胁暂时得到解除,江南人民免遭金兵的蹂躏。