俊曰:"今天下无兵来援,恐洛阳难保,可遣人修整船只,依周馥之言,漏夜出城,且往江南少避,又作道理。"帝从之,遣人密往预备船只伺候。是夜,命曹武、曹诚、郗性保护,与诸大臣悄悄起发。将至门边,前使偷入回报,言:"船被汉将呼延晏烧毁,修理不得,一时无办。须从陆路而行方可。"怀帝大咤曰:"此天亡我也!可惜祖宗大业,到此休矣。"郗性曰:"圣驾已发,既无船只,可从旱路奔往长安,以就南阳王。"帝曰:"百官多半无马,车辆又少,贼若以兵追之,悉被所擒矣,如何去得?不若回宫,众卿悉力保守,又作道理。"于是复转,怀帝与近臣等夜坐不寐,叹息无已。王俊又进言曰:"前者苟晞表请陛下迁都仓坦,暂避其毒,陛下不从,今当乘此黑夜遁出,往彼处依之。"帝听其言,欲召众官同奔。时独文臣庾珉、王俊,武臣丘光、楼裒在侧,丘光曰:"不必召众,臣先察其意思,多不肯行,知彼皆欲保全妻孥,未必弃而即从,且多则为累。我二人护驾潜出,百官知之,明日亦皆来奔也。"珉曰:"君言是也。"乃扶帝自西掖门出。行至铜驼街,被饿夫结伙为盔者趁黑抢掠,车辇尽失。丘光、楼裒欲捕而杀之,奈看不见,尽被走散。帝不能行,乃泣而还宫,遣从人投奔苟晞道其事。使出,走至天明,到硖石堡,遇魏浚巡哨人所获。浚乃度支大使,其时聚得米谷甚多,帅流民数百馀家,保据河阴,获得帝从人,问其来历,从人告以备细,浚甚酸怆,乃备粮米三千斛,从间道越夜送至城中,以给帝食。
越旬日,只见汉帅刘曜、石勒攻打三台、郫城不克,闻知呼延攸解有粮至,乃掠其下县库藏,复将大兵进围洛阳。呼延攸、王弥皆来拜谒,道及攻城之事,二将献张骐、张骥首级,刘曜大喜曰:"吾此一来,誓欲亲枭这贼,谁想已死在我将家之手矣。"攸传汉主语,言:"二位主帅,今番定要齐心共克洛阳。"张宾曰:"前日退攻三台者,为乏粮耳,圣上不知,以吾等为怯。今军得食,明日再进,看吾怯也不怯!"正在叙话,忽报呼延晏会合太子,以姜飞为前部,黄臣、黄命为左右,呼延颢为押后,引兵三万,已在宣阳门外住扎。曜、勒见说,即同一班战将关、张、赵、姜、王、魏等,齐去参谒。刘玄明曰:"自洛阳被晋劫营,杀死呼延朗,退屯洛水,无颜归国,越有年矣。前番二次攻洛,不得诏命,弗及来助。今次敕吾同来,望诸故旧秉心协力,务成大功,方可报二次之恨也。"众人曰:"致身效命,乃为将之本等耳!谨领钧旨,但臣等以戎事奔驰,久失朝谒,伏乞容恕。"太子慰劳已毕,设宴赐款。席间,太子聪举杯谓众曰:"今洛阳之困已极,可将各门分把,莫使晋帝君臣走脱,以贻祸根。城破只在旬日中矣!"众皆应诺,席散各归营寨。次日,姜发、张宾调遣诸将,分屯各门,严加号令,把得水泄不通,樵苏尽绝。张宾命四下筑起土山,高与城齐,上可容军士百馀,八门共一十六座,拣选能射强弓硬弩二百步者,立于其上,分付不可乱发,只待晋兵上城呐喊,与我攻城人相持之时,即便望上射去。兵士得令,各去打点。王弥、关防、呼延晏、张实、黄臣、姜飞、赵染、刘景分八门攻打,晋兵于城上呐喊射箭,被汉兵自土山上发伏,一齐发箭,就如雨点一般。晋兵果不能当,打死者不计其数。
王俊亟命各将遮牌木盾,向前蔽箭,射者立于背后,姜发又命架炮铳于土山之上击之。晋兵不能支,俱走下城。王俊曰:"不可少退,退则城被打破,亦宜以炮对打,彼山上兵少,定然斗我不过。"以故各伤兵士而止。庾珉曰:"今彼筑山攻我,若再增添数座,恐被所陷也。"王俊曰:"可亟造发石车,先破此山,则免其再筑矣。"帝命王俊画式监制,一夜而成,共八十乘。每山五乘,列于城上,横安大桶,状类炮筒,底实以硝,上嵌石子八个,大如碗者,又名八石机。安排齐整,汉兵竭力攻打,晋兵惟守而击之。只见土山上伏兵箭又乱发,王俊命点上药线,声震天地,石到处,连透数人,土山皆被打崩。共兵二千,无一得活者。张宾见此计被破,乃令军士掏掘地道而进。王俊巡城,细观动静,乃谓众将曰:"汉兵无计可入,必是思量欲掘地道也。"传令绕城开浚长渠深堑,着百姓守之,有水处引水灌满。汉兵被水冲没,死者无数。虽不得入,奈城中无粮可食,人民饿死,哭声晓夜不断。刘聪遍告诸将曰:"城破只在早晚,何必区区以诡计暗谋,徒损兵命,且又自耽日月。倘若苟晞与长安、幽、冀、辽、并合兵来救,可不尽弃前功?但只努力明打,城中愈怕,众心慌变,城自破矣。"于是石勒、刘曜亲自临城,与王弥、呼延攸、姜飞五路首将,皆申重令,戒约三军曰:"自今日为始,军士若不用命,则斩队长;队长不用命,则斩总旗;总旗不用命,则斩把总;把总不用命,则斩百总;百总不用命,则斩千总;有功者另行升赏。"军士闻令,云梯乱竖,撞竿齐击,炮铳火箭竞进,晋兵救应不迭。城上人食少力疲,着箭便倒,抵之不住。
呼延攸首克平昌门,丘光、楼裒悉皆战死,攸遂入城放火,以吓诸门。守兵心慌,被王弥、徐邈又攻开广阳门,城中火盛。荀藩司空与光禄大夫荀组等在城上者,知不能保,即走出城,望