北宋北伐大军出关进入易州,易州在燕京西南方,大约有二百多里路,因易水而得名。易州知州高凤是个五十来岁的汉官,由于燕京城传说萧德妃准备把汉人官员全部杀光,所以易州知州高凤和通守王悰在九月二十日,杀尽易州城内契丹人后,里应外合献城向北宋投降。北伐宋军通过易州向涿州进军,涿州守将是辽常胜军都管押、涿州留守郭药师,郭药师是辽东铁州汉人,他听说易州降宋后,赶紧召集张令徽、刘舜仁、甄五臣等心腹爱将商议后,也决定举城向北宋投降。于是郭药师带领常胜军8000精兵500铁骑向北宋投降,并以汉人的身份向北宋君臣献了一道声情并茂的降表,宋徽宗封郭药师恩州观察使、知涿州军事,跟随北伐军都统制刘延庆北伐辽国燕京。
郭药师跟随北伐宋军渡过白沟河时发现,宋军队形散乱不整,士兵缺乏士气。于是向统帅刘延庆建议整军,刘延庆怕引发兵变并没有按照郭药师的建议处理。宋北伐大军一路前行来到距离燕京只有三十里的卢沟河,北伐军统帅刘延庆害怕辽国四军大王萧干在卢沟河北岸埋伏,迟迟不敢下令渡河。此时北辽军队部分被耶律大石带领镇守居庸关防备金军的进攻,另外部分四军大王萧干率领在卢沟河与宋军对持,燕京城内只有区区不到一千人的军队。郭药师得到这一重要情报后,于是向刘延庆建议:“乘燕京城内兵力空虚,派轻骑绕道突袭燕京,争取城内汉人支持一举可将燕京拿下。”
刘延庆接受郭药师突袭燕京的建议,命令郭药师带领一千人做先导,大将杨可世和高世宣、赵鹤寿、杨可弼带领五千宋军轻骑,共计六千轻骑绕道安次奇袭燕京城,刘光世带领5万宋军尾随其后作为后援。(1122年)十月二十三日夜六千轻骑兵一昼夜狂奔三百多里路,第二天晚上悄悄来到燕京城东名叫三家店的村庄。经过强行军的赶路士兵与战马都很疲惫,经熟悉地形的郭药师安排,在村外一片杨树林休息了一晚上。第二天一早按照预定计划郭药师心腹将领甄五臣带领常胜军五十名敢死之士,以五人一组混入当地乡民中混入燕京城东大门迎春门。敢死队员们经过一番激烈的搏杀,终于将迎春门控制在宋军之手,甄五臣急忙发信号迎接大队进城。
宋军众将经过商量,由赵鹤寿带领两千骑兵驻扎在迎春门外作为外援,郭药师、杨可世、高世宣、杨可弼带领休整一夜剩余轻骑,迅速通过迎春门进入燕京城。进城后按照预定计划派七名常胜军将领各带二百名轻骑控制燕京城七座城门。将突袭部队分为两路,杨可世和郭药师带领左路,高世宣和杨可弼带领右路,两路齐头并进夹击位于燕京城内西南方向的皇城,准备活捉萧德妃。郭药师等宋军进城后,就有大量欣喜若狂的汉人迎接,并主动帮助宋军带路,燕京城内汉人书生还赋诗庆祝:破虏将军晓入燕,满城和气接尧天。油然叆叇三千里,洗尽腥膻二百年。
由于进城后宋军军纪松弛,不少宋军跑到路边饭馆吃早饭不给钱,有一家饭馆契丹老板反抗,被吃饭宋军一刀杀死。这件事很快传遍燕京城,引起了人数众多的契丹族人,他们纷纷拿起武器反抗,大量契丹人阻挡在宋军行进皇宫的路上。宋军大将杨可世见此情形下令,凡事阻挡宋军前进的人员一律就地正法。此时燕京城内汉人告诉杨可世,阻挡大军前行的都是契丹人和奚族人,没有汉族人。杨可世大怒,让当地汉人指引带路,挨家去屠杀燕京城内契丹人和奚人。宋军在契丹、奚人集中居住地后大开杀戒,屠杀了数以万计的无辜契丹和奚族百姓,燕京大街上都流满了鲜血。由于宋军执行错误的屠杀异族政策,满城的契丹和奚族人不分老幼都拿起武器,在大街上与宋军展开巷战,使宋军前往皇城的路前行异常艰难。
宋军经过浴血奋战后好不容易来到皇城才发现,皇城虽然规模不大,但是异常牢固,没有攻城器械的宋军,在辽军弓箭的打击下根本无法靠近皇城墙。于是郭药师和杨可世写一封劝降信给萧德妃,萧德妃却实行拖延之计回信说:“如果宋军立即停止在燕京城内的滥杀行为,可以考虑投降,否则宁死不降”。却暗地派人通知前线的四军大王萧干火速回军救援。这时候北守卫居庸关的耶律大石得到宋军奇袭燕京城的消息后,大为震惊,火速带领三千骑兵回援燕京城,只用一天时间就赶到燕京城西门,冒充宋军骗过西门守城宋军,进入燕京城将宋军西门二百多名守军全部杀死后,另派七名将官各带三百名士兵去抢夺另外七座城门,破坏城门吊桥,完全封锁城门,准备将奇袭燕京的宋军一举全歼。
正在全力攻击皇城的杨可世、郭药师等宋军将领,丝毫不知道辽军援军已经进城,但是刘光世的五万后援宋军迟迟不能到达燕京城,暗暗感到担心。高世宣和杨可弼只能带领宋军士兵,用巨大原木去撞击皇城门,却被城墙上扔下的滚木礌石砸得人仰马翻。宋军进入燕京城第三天,杨可世和郭药师都知道如果当天在不攻破皇城的话,最后下场只能全军覆没。于是拼命督促宋军攻击攻城,在宋军猛烈撞击下,燕京皇城大门已经摇摇欲坠。就在这时一队西辽骑兵杀气腾腾向宋军冲过来。郭药师看见西辽援兵杀来,判断不是耶律大石就是萧干的援兵已经进城,于是大家决定停止攻击皇城,先去闵忠寺前集合,然后经过熟悉的迎春门出城,与赵鹤寿带领两千骑兵会和撤离。
此时辽四军大王萧干也带领援军已经从南门进入燕京城,并与耶律大石取得联系合击进城宋军。杨可世和高世宣带领宋军且战且走,来到双门楼,突遇大队辽兵杀来,高世宣挺枪就连杀数名辽兵,带领宋军与辽军展开血战。高世宣连杀数十名辽兵后。突然躲闪不及被一名辽军砍下马来,一条胳膊大半被砍下来,血流不止。杨可世急忙奔马上前营救,抱住高世宣止血。高世宣宋军当时有名的神箭手,号称高一箭。他睁开眼对杨可世说:”请兄弟帮忙,把我的手臂找到带回去。”不久后高世宣流血过多去世。
杨可世好不容易找到高世宣的手臂后,与杨可弼率宋军残部撤到闵忠寺后,见郭药师还有大量燕京汉人已经在那里等候,这些燕京汉人全部参加过宋军屠杀契丹人和奚人行动,他们看着杨可世和郭药师说:“当初你们要我们帮助你们杀契丹人、奚人,现在城门都已经全部封锁,只有和你们一起与辽军决一死战!”杨可世与郭药师一起带领宋军和燕京汉人,与辽军展开拼死的战斗,由于宋军又累又饿几次战败后,宋军只好下马登上城墙继续抗击辽兵。
包围城墙的辽军越来越多,杨可世决定战死疆场,对弟弟杨可弼说:“我们是将门世家,不能效儿女之态,现在就是我们为国捐躯的时刻!”带领残存宋军挥舞长枪与辽军血战。这时有人来报告郭药师已经带人缒城而走,大家也劝杨可世也缒城逃命,杨可世坚决不从,弟弟杨可弼劝道:“赵鹤寿的城外后军不来支援,都统刘延庆安排的援军也迟迟不至,今天的事情,黑白自明,如果我们都这样稀里糊涂死去,后世的人肯定会说我们是历史罪人。我们应该有人活着回去,将城内的真实情况公布于世,朝廷就是治罪,也死而无憾!”杨可世觉得有道理也就缒城逃出燕京。
就这样数千奇袭燕京城的宋军,差一点成功占据燕京城,因为后援不至等原因最终导致失败,仅有几百人撤出燕京城,其余宋军全部全部阵亡。宋军在燕京城内壮烈捐躯的将领,有高世宣外、王奇、李峣、石洵美、王端臣等,他们都是历史不该遗忘记的英雄。杨可世心爱的踏雪乌骓马,因为找不到主人独自在燕京大街上狂奔。