杨玄感计划攻取洛阳,洛阳的留守是越王杨侗与大将樊子盖。杨玄感对众人说:“我身为上柱国大将军,家中有数万金子,富贵到了极点,没有什么可以希求的。今天之所以不顾被灭族的危险造反,原因是为了天下人解脱困苦而已。”众人都争相投奔,每天都有上千人。
樊子盖依托洛阳城坚固的城墙,坚决抵抗,杨玄感人数虽多,缺少精良的武器,多次进攻,却无法将洛阳城攻取。
长安城的代王杨侑派遣尚书卫子升带着四万大军,来救援洛阳,卫子升经过华阴时,将杨玄感的父亲杨素的坟墓挖开,向士卒表明必死的决心,杨玄感迎击卫子升,将他击败。
杨玄感与隋兵作战,每次都冲在最前面,部下都乐意卖命,徒众越来越多,增加到十万人以上。
有一个叫做李子通的人劝杨玄感称帝,李密建议说:“从前,陈胜急于称王,最后失败。从起兵以来,虽然多次取胜,周围的郡县却没有附从,东都洛阳的防备还十分坚固,隋朝的援兵很快就要来了,您应该首先奋力夺取关中,不应该过早地称帝,表示自己的志向短小。”
隋朝大将屈突通率大军来救援,东都大将樊子盖与援兵卫子升相互配合,多次击败杨玄感,李密建议说:“我们可以声称陇右的隋朝大将元弘嗣投降我们,欺骗一下老百姓,骗他们迎接我们进入关中。”
很多华阴的杨氏百姓愿意作为杨玄感的向导,杨玄感解除对洛阳的包围,带兵向长安进发。弘农的隋朝守将杨智积说道:“一旦杨玄感进入关中,就会成为大患,必须拖住他,等待大军来到。”
当杨玄感经过弘农城下时,杨智积故意在城上辱骂杨玄感,惹得杨玄感大怒,停下来进攻弘农,经过十几天,也没有攻下。李密说道:“兵贵神速,追兵快要来到,怎么能够停留呢?假如不迅速攻占潼关,一旦追兵来到,我们根本无险可守,也没有退路,大军必然溃败,怎么保全自己呢?”杨玄感不听,继续攻打弘农城,烧毁了弘农城的城门,可是,杨智积在城内也放起火来,大军无法及时进入城内,等了三天时间,城门内外的大火还没有熄灭,隋朝大将来护儿、屈突通、卫问升等人的数十万追兵来到。
杨玄感摆开阵势,与隋兵大战,一边作战,一面后退,连败三阵,杨玄感带着十几个骑兵逃跑,到了最后,杨玄感看到自己的马匹已经累死,已经无处可逃,杨玄感下令自己的手下杨积善,用刀将自己杀死。
杨玄感的尸体被隋朝追兵获得,送到东都洛阳,被隋炀帝下令剁成肉块,用火焚烧。隋炀帝下令追杀杨玄感的同党,一共杀了三万人,被冤死的占了一大半,杨玄感曾经打开仓库,为百姓发放粮食,隋炀帝下令,将接受粮食的百姓全部活埋。六千人因为与杨玄感有些关系,而被流放。
隋炀帝回洛阳的途中,看到沿途有不少村庄市镇,说道:“杨玄感振臂一呼,就招引了十万人,为什么不多少一些,不就没有那么多的盗贼了吗?”
独夫民贼杨广,没有丝毫怜悯百姓之心,百姓没有活路时,才不得不造反,他却以为是因为人太多了,只要多杀人,就没有人造反了,殊不知,越杀,造反的就会越多。杨广不死,天下人就活不下去,只有继续造反,将他杀死,才可能为自己找一条活路。