南宋凤州(治今陕西凤县东北)人,字君玉。十八岁从军钓鱼山,守合州(今四川合川),积功任都统制,称“四川虎将”。开庆元年(1259)与王坚击退蒙哥(元宪宗)重庆。后代坚为主将,艰苦抗元。德右元年(1275)为四川制置副使、知重庆府。次年出兵解重庆之围,他力战抵抗。因粮尽力竭,乘船突围,为元军所俘,不屈而死。