몽고에서 출생하고 성장했으며, 어려서부터 종군하면서 용맹을 떨쳤다. 원나라 세조의 총애를 받아 세조가 홍다구라고 불렀다고 한다. 1261년( 원종 2) 아버지의 관직을 이어받아 관령귀부고려군민총관(管領歸附高麗軍民摠管)에 임명되었다.
1263년에는 영녕공 왕준(永寧公 王綧)을 참소해 당시 왕준이 원에서 가지고 있던 고려 군민에 대한 관령권(管領權)을 탈취하였다. 1269년 원종이 임연(林衍)을 제거하기 위해 원나라에 군사를 요청하자 다음 해에 국왕 두련가(頭輦哥)를 좇아 3,000명의 귀부군(歸附軍)을 이끌고 처음 고려에 왔다.
이 때부터 봉주(鳳州)의 둔전총관부(屯田總管府)에 주둔하면서 당시 고려에 있던 부원세력의 중심이 되었다. 그리고 진도와 제주도의 삼별초 진압을 지휘하였으며, 계속해서 1274년 소용대장군 안무사 고려군민총관(昭勇大將軍安撫使高麗軍民總管)이 되어 일본 정벌을 위한 군량과 조선의 조달을 감독하였다.
곧 이어 동정우부도원수(東征右副都元帥)로서 일본 정벌에 참여하였다. 그러나 일본 정벌이 실패로 끝나자 1275년( 충렬왕 1)에 원나라로 돌아갔다.
1277년 진국상장군 정동도원수(鎭國上將軍征東都元帥)에 임명되어 일본 정벌에 대비하였다. 하지만 때마침 원나라의 상도(上都)에서 지로와대(只魯瓦歹) 등이 반란을 일으켜 일본 정벌이 연기되자 승상(丞相) 백안(伯顔)을 좇아 상도를 공략해 전공을 세웠다.
그 해에 위득유(韋得儒) 등에 의해 김방경(金方慶) 무고사건이 일어나자 고려에 다시 들어왔다. 김방경을 고문하고 고의로 사건을 확대시켜 고려의 입장을 난처하게 하려다 충렬왕이 적극적인 외교 활동을 벌여 원나라로 소환되었다.
1279년 원나라에서 다시 일본 정벌을 추진하자 동정군(東征軍)의 지휘를 자청하였다. 고려의 거센 반대에도 불구하고 다음해에 용호위상장군 정동행성우승(龍虎衛上將軍征東行省右丞)에 임명되어 일본 정벌에 참여하였다. 그러나 이번 역시 일본 정벌이 실패로 끝나자 곧 원나라로 돌아갔으며, 이후 다시 고려에 오지 못하였다.
1284년에도 다시 정동행성우승에 임명되었으나 곧 일본 정벌 계획이 무산되었다. 1287년(충렬왕 13) 원나라에서 내안(乃顔)의 반란을 진압하는 데 공을 세워 요양행성우승(遼陽行省右丞)이 되었다.
이후 1290년에 병 때문에 사직하였다. 그 해에 내안의 여당인 합단(哈丹)이 고려를 침략하자 다시 기용되어 요양행성의 관리가 되었으나 다음해에 죽었다.