当年九月,赵高让子婴先行斋戒,然后再到宗庙拜见祖先,接受传国玉玺。斋戒了五天之后,子婴对他的两个儿子及心腹韩谈说:“赵高杀害了二世皇帝,他害怕群臣诛杀他,才假模假样来扶立我。我听说赵高已与楚国订立盟约,屠杀秦宗室以后由他在关中称王。如今让我斋戒后去宗庙,正是想借机杀我。我如果称病不去,他一定亲自前来,他一来我们就杀了他。”赵高多次派人来请子婴去宗庙,子婴都不起行,赵高只得亲自来请。按照预定计划,子婴命韩谈刺杀了赵高,随后在咸阳当众灭了赵高三族。
纵观历史,子婴巧计杀赵高同崇祯灭魏忠贤颇为相似,不仅如此,这两位君主以后的表现也如出一辙:前明后昏,都成了各自王朝的掘墓人。
子婴诛杀赵高之际,项羽、刘邦两支大军正从东、南两面逼近秦都咸阳,于是子婴派兵据守峣关,抵御东方起义军。没料到,刘邦采纳张良的建议,一面派遣郦食其、陆贾游说守关将领,用重利引诱他们投降,使他们放松了防务;一面又命军士悄悄绕过峣关,从背后偷袭秦军。刘邦大军占领峣关后继续北进,在蓝田南一战中取得重大胜利,秦军溃退至蓝田以北。刘邦一边“益张疑兵旗帜”,制造声势,一边重申军纪,受到秦地百姓的欢迎。秦军懈怠之时,起义军连续猛攻,再获全胜,全歼蓝田秦军。至此,咸阳附近秦军的最后一点有生力量也损失殆尽,子婴手中再也没有什么力量能阻止刘邦夺取咸阳了。
公元前206年十月,刘邦大军进抵灞上,距咸阳只有百里之遥。子婴守着一座庞大的都城,既无可战之兵,又无可守之险,只得接受刘邦的“约降”条件,下令秦残余部队停止抵抗。他自己则“素车白马,系颈以组,封皇帝玺符节,降轵道旁”,恭恭敬敬地向刘邦投降。秦朝在子婴投降的这一刻正式灭亡,子婴也只当了46天秦王。
子婴投降刘邦之后,以樊哙为首的一批将领提议杀掉这个亡国之君,但刘邦不同意这样做,说:“始怀王遣我,固以能宽容,且人已降服,又杀之,不祥。”他命人将子婴一干人等看押起来,待以后再作处理。然而,作为亡国之君的子婴终究未能在乱世中苟全性命。
一个多月后,项羽也率大军抵达关中,刘邦部将曹无伤向项羽谎报称,刘邦将自立为关中王,以子婴为丞相,结果项羽设下鸿门宴。鸿门宴之后没几天,项羽指挥自己的军队开进不设防的秦都咸阳,处死子婴,纵兵屠杀咸阳无辜百姓,大肆劫掠宫中和民间财物,随后放火焚烧秦宫室和官府,熊熊大火长达三月不熄。