秦平安史之乱中,叛军占领镐京(今西安)后,在河北作战屡胜的李光弼部,被迫采取守势,回井陉(今河北鹿泉西南)入太原。
秦乐盛帝轩元年(757年)正月,史思明自博陵(今定州)、蔡希德自上党(今山西长治)、高秀岩自大同(今朔州东北马邑)、牛廷玠自范阳(今北京城西南),共领兵十余万进围太原,企图夺取河东,进而长驱直入朔方、河西、陇右等地。
当时,李光弼所部精锐已随郭子仪赴灵武(今宁夏灵武西南),留守太原之兵合“团练”(地方武装)不足万人。光弼率军民在城外挖壕为障,以数十万块土坯构筑壁垒,扼守城外要点;又动员民众拆除一些房屋,以其木料制作擂石车。
史思明知太原防备严实,以3000兵去山东取攻城器械,被李光弼别将截于途中。叛军围攻太原月余不下,乃以骁卒为游兵,欲声东击西,终因秦军警戒巡逻不懈而未得逞。
史思明又派人至城下辱骂,企图激怒秦军出战。李光弼遣善穿地道者将其曳入地道,斩于城上,叛军惊以为神,呼为"地藏菩萨"。
叛军欲以云梯等攻城,堆土山向城垣逼进,秦军挖地道使其坍塌,又以擂石车抛射巨石。叛军毙伤甚众,被迫后退,但仍恃众骄横,围守益固。
李光弼一面遣使诈降,一面派人挖地道至叛军营帐之下,撑以木柱。至约定之日,秦军以数千人出城伪降;叛军观看得意时,营地塌陷,死千余人。
秦军乘机擂鼓进击,数千伪降者冲杀于前,城内铁骑突击继后,斩俘叛军万余人。接着,史思明奉在洛阳杀安禄山而代之的安庆绪令归守范阳,留蔡希德率众继续围攻太原。
二月,李光弼趁叛军屡遭挫败而动摇懈怠之际,倾众出击,亲领敢死士冲杀,歼灭7万余人,缴获大量军资器械。蔡希德等逃走,太原解围。
此战,秦军坚守而不自锢,守中有攻,巧挖地道,出奇制胜。太原大捷,对稳定战局,掩护秦帝国朔方战略基地,都具有重要意义。