至德二载(757年)正月,叛军大将史思明从博陵(今河北定州),蔡希德从上党(今山西长治),高秀从大同,牛廷介从范阳,共帅兵十万,来攻太原。
当时李光弼麾下精兵皆赴朔方(今宁夏),所余团练兵皆乌合之众,不满万人。思明以为太原指日可下,然后长驱北上取朔方、河西、陇右。太原诸将闻叛军十万来攻城,皆惧,议修城以守。于是帅士卒及民众于城外凿壕以自固。又作砖坯数十万块,众人都不知其所用。及叛军攻城于外,光弼则增垒于内,城坏者则用之修补。光弼军令严整,虽叛军不攻,逻卒亦不敢丝毫懈怠,叛军无机可乘。光弼又在军中选有小技者,各尽其用,得安边军(今河北蔚县)三个钱工,善于穿地道。叛军在太原城下抬头叫骂,光弼就派人从地道出拽其脚拉入城内,临城斩之。从此叛军行走皆先看地面。叛军用云梯、土山以攻城,光弼则挖地道以迎击,近城则陷。叛军逼近城头,光弼就作大炮,用来发巨石,一发击毙二十余人。叛军只好退至数十步外,远地围住。光弼又遣人诈告叛军说,刻日出降,叛军喜,不为设备。光弼遂使士卒在叛军营周围挖地道,以木头顶住。至约好时间,光弼领兵在城上,遣裨将领数千人出城,伪作投降,叛军都在观看。忽然营中地陷,死者千余人,叛军大乱,光弼则帅兵乘机鼓噪出击,俘斩万计。
