更始元年(公元23 年),王莽命令太师王匡、国将哀章守卫洛阳,更始皇帝刘玄派遣定国上公王匡攻打洛阳,西屏大将军申屠建、丞相司直李松攻打武关,三辅地区为之震动。析县人邓晔和于匡在南乡起兵以响应汉军,攻打武关都尉朱萌,朱萌投降;进攻右队大夫宋纲,杀掉宋纲;向西挺进,攻陷湖县。
王莽任命将军九人,都用“虎”作为名号,率领禁卫军精锐士兵几万人向东方挺进,把他们的妻子儿女收留到皇宫里作为人质。这时宫中储存的黄金还有六十多万斤,其他的贵重珍宝差不多也是这个数目,王莽更加舍不得财物,对九虎将军部属,仅赏赐每人四千钱。大家怨恨不已,毫无斗志。九虎将军到达华阴县,扼守险要。于匡、邓晔率军攻击他们,六位虎将军战败逃走。王莽让使者责问他们,于是二人自尽,其他四位虎将军逃亡。还有三位虎将军集合散兵,保卫渭口京师仓。
邓晔打开武关关门,欢迎汉兵。李松率领三千人抵达湖县,与邓晔等会合,共同进攻京师仓,没有攻下。邓晔任命弘农掾王宪当校尉,率领数百人向北渡过渭河,进入左冯翊境内。李松派遣偏将军韩臣等,一直向西推进到新丰,攻打王莽波水将军窦融。窦融败退,韩臣追杀,直到长门宫。王宪部队推进到频阳,沿途地方官府归降。各县大族分别起兵,自称是汉朝将军,率领部下追随王宪。李松、邓晔率军抵达华阴时,长安附近的部队已从四方汇集到城下。大家听说天水隗家军也将抵达,都争着要第一个入城,贪图建立大功和抢劫珍宝。王莽赦免城里监狱的犯人,都发给武器,杀猪饮血,与他们立誓说:“如有不为新朝效劳的人,神鬼会记住他!”命令更始将军史谌率领着他们。这些人渡过渭桥,都四散逃跑了,只剩史谌一个人回来。各路士兵挖开王莽妻子、儿子、父亲、祖父的坟墓,焚烧他们的棺材以及九庙、明堂和辟雍,火光照亮了城中。
九月初一,攻城军队从宣平门入城。恰好天黑,官府和豪门大宅的人全都逃跑了。黄昏时,城里青年朱弟和张鱼等人害怕遭到抢劫,奔跑喧哗,聚集成群,焚烧未央宫的便门,用斧子劈开敬法殿的小门,喊道:“反贼王莽,为什么还不出来投降?”大火蔓延到掖庭、承明殿。王莽到未央宫宣室前殿避火,火总是跟着他。
到了初三,天快亮了,群臣搀扶着王莽,从前殿去渐台,还有公卿等随从官吏一千多人跟着他。王邑昼夜不停地战斗,疲倦极了,士兵也快死伤光了,他飞马进入宫中,辗转来到渐台,看见他的儿子侍中王睦脱下衣帽想要逃走。王邑叫住他,让他回来,父子俩一同守卫着王莽。汉军进入殿中,听说王莽在渐台,众人将其包围了数百层。台上仍用箭与对面的士兵对射,箭用完了,便短兵相接。王邑父子等人战斗至死,王莽躲进内室。下午五时三刻,大批士兵上了渐台,商县人杜吴杀死了王莽,校尉东海人公宾砍下了王莽的脑袋,兵士们分砍了王莽的尸体。