十一月初八,完颜亮亲自指挥大军强渡长江。
他先派部分水军做试探性进攻,见宋军没有动静,便以为可以长驱直入。于是他亲自挥动红旗,顶着江风,率几百艘战船从杨林渡口出发。
战船快到岸边时,金军意外发现,岸边高地之后竟隐藏着宋军阵势整齐的队伍,惊讶不已。前70余艘战船勉强靠岸,部分金兵登陆。后面大部分战船由于船体行动不便,又不熟悉水道,一直在江中飘摇。
登陆的金兵全部被宋军消灭,停泊于江中的其他战船被宋军水师截断。金军大败,退回杨林河口。
次日,金军卷土重来,被虞允文抢先封锁了渡口。虞允文引弓箭手向金军放箭,金兵被射杀无数。随后,宋兵到渡口放火,烧毁金军战船300余艘。金军受重创,被迫向淮东转移,打算与扬州、瓜洲的军队会合。宋军有备,先于长江布控。金军无隙可乘,准备撤军北还。
就在完颜亮领兵南侵的途中,留守东京的完颜雍即已被兵变的将士拥立为帝。完颜雍继位后,立即发布檄文,公告完颜亮的种种罪行,并废其为海陵庶人,同时派兵阻断了他的归路。
完颜亮无路可退,于是继续出兵,打算破釜沉舟,孤注一掷。
十一月二十六日,完颜亮集中兵力,勒令将士们在第二天从瓜洲强渡长江。后退者斩。对岸宋军士气高涨,布防严密,强渡希望渺茫,金军进退两难。
当得知完颜雍已在辽阳称帝,并废完颜亮为庶人后,军中人心思变,开始成群逃亡。兵部尚书兼浙西道兵马都统制完颜元宜等乘机发动兵变。
二十七日清晨,完颜元宜率领众将士呐喊着对完颜亮营帐发起攻击。完颜亮被乱箭射死。
完颜亮死后,金世宗完颜雍下旨谥他为“炀”,葬于大房山鹿门谷诸王的墓地间。由于罪孽深重,朝臣反对将其葬于诸王墓地,于是改迁离墓地西南40里处的平民坟茔下葬。