1271년(원종 12) 삼별초가 봉기하였을 때 김주(金州: 지금의 경상남도 김해)의 방호장군(防護將軍)으로 있으면서 진압에 공헌하였다. 삼별초가 토벌되고 1274년 정월부터 일본원정이 추진되자 대장군으로 동계부부사(東界部夫使)가 되어 동계에서 전함축조 등 원정준비를 지휘하였다.
그리고 같은 해 제1차 일본원정 때에는 우군(右軍)의 지병마사에 임명되어 원정에 직접 참여하였다. 그 뒤 1280년(충렬왕 6) 제2차 일본원정을 앞두고 원나라로부터 '총관(摠管)'에 제수되었다.