1236년에 남송에서 태어나 1255년에 진사에 수석으로 합격하였다. 1259년, 남송이 몽고군의 침입을 받으면서 수도를 옮기려하자 이를 반대, 결국 면직되고 말았다. 그러다 1275년에 의용군을 조직하여 원에 대항했다. 1276년에 원과 강화를 맺기 위해 바얀의 진중으로 갔다가 바얀이 문천상의 기량을 두려워하는 바람에 갇혀 버렸다. 그 사이에 남송이 멸망해 버리고 만다. 그렇게 포로로 잡혀 북송되던 도중 탈출하여 도종의 장자 익왕을 받들고 잔병을 모아 싸운다. 1278년에 그렇게 싸우던 도중 오파령 전투에서 패하여 장홍범에게 체포되고 만다. 이후, 원나라에서는 장홍범이나 쿠빌라이칸이 관직을 주며 회유하려고 계속 노력했으나 끝까지 이를 거부하였다. 대도로 이송되어 약 3년간 갇혀 있는 동안 옥중에서 정기가를 지었다고 한다. 결국 1283년, 충신은 두 주군을 섬기지 않는다는 요지의 말만 되풀이하고 사형된다. 향년 46세. 한편 쿠빌라이 칸은 “문천상의 사형을 당장 중지하라”라며, 만류했으나 이 때는 이미 사형당한 후였다고, 《송사》에 적혀있다.
문천상의 사형 집행을 즉각 멈추라고 얘기한 인물은?
쿠빌라이 칸