1268년(원종 9) 야별초지유로서 일찍이 김준(金俊)의 휘하에 있었으나, 임연(林衍)이 김준을 죽일 때 김준의 편에서 방어하지는 않았다.
1270년 고려가 몽고와 강화하고 수도를 강화에서 개경으로 옮긴 후, 삼별초가 반란을 일으켜 근거지를 강화에서 진도로 옮겨가면서 항전을 계속하자, 정부의 명으로 그 해 8월, 장군 양동무(楊東茂)와 더불어 수군을 거느리고 진도를 쳤다.
그러나 삼별초에 의하여 도리어 장흥부(長興府)의 관군 20여 인이 죽고, 재물과 곡식을 탈취당하였다. 같은 해 11월, 여몽연합군의 치열한 공격으로 진도마저 함락되어 삼별초가 제주도로 들어갈 때, 장군으로 군사 70명을 이끌고 영암부사(靈巖副使) 김수(金須)의 뒤를 이어 제주도에 들어가 방어하였다. 그러나 삼별초의 공격으로 전사하였으며, 그 결과 제주도는 함락되어 삼별초의 마지막 근거지가 되었다.