史思明围攻太原月余不下。便在太原城四周布置了骁骑游兵,想搞声东击西的战术,伺隙而战。但李光弼军中戒备森严,史思明无懈可击。李光弼又派人挖地道,通至城外,敌军在城下叫骂挑战,常冷不防被唐军拖入地道。吓得敌军胆战心惊,走路时人人小心翼翼,低头看路,唯恐哪里有地道暗口。
史思明又派人筑土山,以便能居高临下攻城。唐军便在城下先挖好地道,叛军的土山刚刚堆好就塌陷了。
李光弼又做大炮,飞以巨石,一石可击毙敌军二十余人。史思明无可奈何,只好退营数十步外,严加围困。李光弼担心时间久了城中粮食难济,便施计派人至敌营约期出降。
另一方面,他派人掘地道直至敌军营下,先以撑木支项。到时,李光弼勒兵在城上,派部将带数千人出城伪降。敌军不知有诈,正得意地在军营中等候着,忽然营中地陷,死伤千余人,叛军士众惊乱。李光弼遂挥军鼓噪冲来,俘斩万计。
正在这时,安禄山的死讯传至,安庆绪命史思明归守范阳,史思明只好撤兵而去,留下蔡希德等继续围困太原。二月,李光弼派兵出击,大败蔡军,斩首七万余级,蔡希德带着残兵败将遁走,太原之围终于被解。
当李光弼坚守太原时,郭子仪带着朔方军进兵河东(蒲州)了。郭子仪是在平定河曲同罗之乱后,于至德元年(756)十一月,还军南下至鄜州洛交郡(治今陕西富县)的。