公元前206年10月。
秦王子嬰敗劉邦於藍田,兩次夜襲劉邦,最終在霸水畔徹底擊潰劉邦。前後死屍多達三萬有餘,贏子嬰前坑殺劉邦降卒四千,後驅趕劉邦三千潰卒跳進霸水。此戰過後,秦王子嬰聲望大漲,秦軍上下無不敬畏,關中百姓無一人不害怕。
劉邦穿霸水,入蕢山逃走。秦將王衝、公孫止數攻嶢關未下。嶢關守將得知劉邦逃走後,一夜敗逃棄關,秦軍入關後遭到守將埋伏的死士火攻,嶢關上大火衝天,幸好公孫止眼疾手快,急忙領兵逃走。至此,整個嶢關付之一炬,秦軍傷亡數百,城牆焦烈坍塌,不堪再用。
秦王子嬰聽聞後大怒,繼續派王衝二人追殺嶢關潰軍。一路經過三縣:商縣、丹鳳、商南,皆被劉邦敗軍付之一炬。燒死城中百姓無數,二軍追逐直至武關。
武關城高,劉邦亦逃至武關,收攏敗軍殘將,依關死守。公孫止用挖地道、夜間偷襲、製造謠言等計攻打,皆被張良識破。武關攻取不下,秦軍兵少不敢強攻,再加上後麵三縣被焚,不能從三縣取糧,秦軍補給困難,隻好在離武關二十裏的位置布下兩個營寨,截斷劉邦以後入關的道路。
張良施計退秦軍之後,劉邦讓曹參為大將扼守武關,自己帶著周勃、彭越、任傲等眾退去漢中。與酈其食、酈商、蕭何等人漢中相見,君臣相見之事暫且不談。
秦王子嬰聽聞將軍呂文之兄呂齮當初在南陽投降,於是派呂文書信一封,讓呂齮再歸降秦,約以王衝夾擊武關。呂齮得呂文書信後,麵上大慚,他昔日為始皇舊將。如今降劉邦,劉邦封他為侯,讓他依舊守宛城。如此厚恩怎能再降?思及關中妻子,兄弟呂文尚在,心中更是痛恨自己。遂拔劍自刎,告周圍人道:“吾不負沛公、亦不負秦王矣!”
劉邦聽聞呂齮已死,也是唏噓不已,他用公侯之禮將其厚葬。蕭何獻計道:“昔日西進時,秦軍舊將降者甚多,如今都兵權在握。主公兵敗,這些人必起異心。不如趁此機會,將以前的秦軍舊將全部換掉,以防不測!”