刘志恒大怒,随即率军攻城,昼夜不停。
司马图一面派人前往朝廷求援,一面聚兵一万以及数万城中青壮百姓,拒城死守,竭力抗御。
双方大战数日,皆是死伤惨重。
十一月。
晋阳城久攻不下,刘志恒命人在城南筑土山,欲居高临下攻城,司马图缚木加高城楼,使白巾军之计无法得逞。
刘志恒随即改变战术,命人领军三千详攻南城,自己则是领五万大军,趁夜主攻北城,并让人挖掘十数条地道,双管齐下。
司马图识破其计,命手下将军领五百士兵,多做木人以充数量,守卫南城,以虚对虚,本人则是领军五千守卫北城,并挖掘长沟,切断白巾军的地道,待白巾军挖至深沟时,将其擒杀。司马图又在沟外堆积木柴,备好火种,发现白巾军在地道中潜伏,便将木柴塞进地道,大火燃烧,还借助牛皮囊鼓风,烈火浓烟,地道中的白巾军士兵被烧得焦头烂额,以致数千白巾军活活窒息死于地道之中,其状惨不忍睹。