夔、索多等进攻广州，其指挥战船在珠江河面与元军激战，再退入城内抵抗，城破后投降。次年二月，被解送至元大都（今北京）途中于大庾岭（今江西省大余县）去世，享年44岁。文天祥获悉张镇孙的噩耗，特题诗悼念。关于张镇孙的生平，《宋史》和《元史》都没有记载，只有明朝黄佐的《广州人物传·张镇孙传》等少量书籍可供参考。
疑团.张镇孙是投敌的叛徒，还是为保广州城百姓免遭屠杀而忍辱投降，其降元之事确有蹊跷，史籍记载出入颇大，历史上也存在争议。作为正史的《宋史》、《元史》，均有元军围困广州城，张镇孙