이에 조정은 김방경을 추토사(追討使)로 임명한 뒤 참지정사 신사전(申思佺)과 함께 삼별초 공격을 명했다. 당시 삼별초는 강화도를 떠나 진도에 머물고 있었다.
 이에 조정은 김방경을 추토사(追討使)로 임명한 뒤 참지정사 신사전(申思佺)과 함께 삼별초 공격을 명했다. 어제의 전우(戰友)가 오늘은 적(敵)이 된 셈이었지만 김방경은 조정의 보전을 위해 삼별초를 토벌할 수밖에 없다고 결심했다. 당시 삼별초는 강화도를 떠나 진도에 머물고 있었다.
 김방경은 삼별초에 함락되기 직전이었던 전주와 나주를 방어하고 진도의 대안(對岸)에서 토벌에 진력하다가 무고로 개경에 압송되기도 했지만 곧 석방돼 다시 삼별초의 토벌에 나섰다. 당시 전투에서 원나라의 원수 아해(阿海)의 후퇴를 막는가 하면 고려군 단독으로 전투를 벌이기도 했다.
 1271년 새로 원나라의 원수로 임명된 흔도(忻都)와 더불어 진도를 공격해 삼별초를 토벌한 공으로 김방경은 수태위 중서시랑 평장사(守太尉 中書侍郞 平章事)가 됐다. 김통정(金通精) 등이 삼별초 잔류 세력을 이끌고 제주로 가자 1273년 행영중군병마원수(行營中軍兵馬元帥)로 원나라의 장수 흔도, 고려 출신의 간신 홍다구(洪茶丘)와 함께 삼별초를 멸망시켰다.
 이 공로로 김방경은 시중(侍中)이 됐는데 그해 가을 원나라로 가 그의 명성을 전해 들은 원나라 세조(世祖)에게 환대를 받았다. 다시 이야기를 이노우에 야스시의 소설 《풍도》의 한 대목으로 되돌려본다. 소설에는 고려 주둔 몽골군 사령관 흔도가 김방경에게 불평하는 장면이 나온다.
 “우리 황제께서는 나로 하여금 몽골군을 관할하게 하고 그대로 하여금 고려군을 관할하도록 했는데 그대는 매양 일만 있으면 고려왕에게 미루고 고려왕은 그대에게 밀어버리니 과연 누가 고려군의 일을 맡아야 할 것인가.”
