본래 군산도(群山島) 사람이었으나, 조상이 상선(商船)을 따라 개성(開城)에 정착하게 됨으로써 적(籍)을 개성으로 하였다.
처음 감목직(監牧直)으로 있다가 산원에 보직되고, 여러 차례 옮겨 충청도안찰사(忠淸道按察使)로 승진하였는데, 청렴하다고 하여 장군이 되었다.
1221년(고종 8) 담략이 있고 시와 예를 잘 안다 하여 횡포가 심한 몽골 사신 저고여(著古與)의 접반사(接伴使)가 되어 무리없이 접대하였다.
또, 그 해 몽골 사신들이 대관전(大 觀殿)에서 왕이 베푸는 잔치에 궁시(弓矢)를 차고 참석하려는 것을 설득하여 풀게 하였고, 동진(東眞)의 사신을 응대할 때는 시로써 응하여 그들을 감복시켰다.
1223년 의주분도장군(義州分道將軍)이 되었는데, 이 때 금나라의 우가하(于哥下)가 침입하자 이를 격퇴하고 서북면병마부사(西北面兵馬副使)로 승진하였다.
1226년 서북면병마부사로 있을 때, 또 우가하의 군대가 의주·정주(靜州)·인주(麟州) 등지를 침범하므로 우가하를 물리치는 한편, 보병과 기병 1만을 이끌고 압록강을 건너 석성(石城)을 쳐서 항복을 받았다.
이듬해 전라도순문사(全羅道巡問使)가 되었는데, 이 때 최우(崔瑀)를 해치려 했다는 참소를 받았다. 최우가 사람을 나주에 보내어 체포하려고 하자 아들 셋과 함께 바다에 투신, 자살하였다.