至正十六年六、七月間,朱元璋部攻打張士誠部所盤踞下的常州,張士德率數萬軍隊前往增援。朱元璋部將徐達在常州附近對張士德設下埋伏,一舉擊潰了張士德。逃跑的路上,張士德的馬尥了蹶子,他本人連同兩位部將皆被徐達部擒獲。
張士德不甘此辱,竟準備偷偷讓人告知哥哥:不要同朱元璋妥協,應該投降元軍,同滅朱元璋。
朱元璋為除後患,遂將他殺死。他的死對於張士誠部的影響很大,張士誠如失左右手;而且,也惡化了朱元璋與張氏兄弟的關係,張士誠至死不降朱元璋。
補充說明:以上是《明實錄》中的說法,在《明史·趙德勝》傳中卻有不同記載。
趙德勝“取江陰,攻常熟,擒張士德”,說的是趙德勝擒住了張士德,而且相關記載中說他是絕食而死,那么他的死亡時間也要推後了。