삼별초항쟁은 1270년 6월 삼별초 해산령에 불만을 가진 삼별초 장병들이 개경환도를 거부하고 여원연합군에 대해 펼쳤던 3년간의 항쟁이다. 1270년 무인정권이 종식되자 원종은 몽고의 지시에 따라 출륙환도를 단행했다. 출륙환도하면 몽고군의 보복이 기다리는 상황에서 장군 배중손은 삼별초를 규합해 원종을 폐하고 왕족인 승화후 온을 국왕으로 옹립하고 진도·제주도로 거점을 옮기면서 3년 동안 저항했다. 고려를 예속화하려던 몽고의 정책과, 예속화를 감수하면서도 자신의 특권적 지위를 보호하려던 국왕 및 그 일파의 행동에 반발하여 항거한 병사들의 항쟁이었다.
삼별초는 야별초(夜別抄)의 좌별초(左別抄) · 우별초(右別抄)와 신의군(神義軍)으로 구성된 3개의 별초군(別抄軍)을 총칭한 것으로, 용맹한 군사를 선발해 조직한 특수한 군대조직이다. 별초(別抄)라는 임시적 군대조직의 편성은 명종 대의 조위총(趙位寵)의 반란 때 나타난다. 하지만, 역사상으로 주요한 구실을 하게 되는 것은 최우(崔瑀) 집권기의 일이며, 특히 대몽항전기에 눈부신 활약을 하였다.
최우의 집권 초기에 도적[실제로는 농민항쟁]이 횡행하자, 이들을 잡기 위해 용사(勇士)를 선발, 경찰부대를 조직하고 이를 야별초라 하였다. 인원을 크게 늘리고 기구를 확대하여 좌별초와 우별초로 나누어 편성하였다.
이후 최항(崔沆)이 몽고군에 붙잡혔다가 탈출해온 군사와 장정들로 구성된 신의군이라는 별초부대를 창설하였다. 이리하여 좌별초 · 우별초와 신의군을 합쳐서 삼별초를 구성하였다. 야별초는 1220년대에, 신의군은 1250년대에 편제되었으며 이 삼별초는 대몽항전의 선봉에 섰던 정예부대로서 1270년 원종의 출륙환도(出陸還都) 명령과 삼별초 해산령, 고려 지배층의 부몽화에 불만을 품고 대몽항쟁을 선언하고 3년간 항전하였다. 『고려사』 등 전통시대 역사서에서는 삼별초의 난, 혹은 삼별초반란이라고 규정하였고 근래까지 이러한 견해를 쫓았으나 최근에는 삼별초항쟁으로 보아야 한다는 견해가 우세하다.
1232년(고종 19) 최씨정권이 정부를 이끌고 강화도로 천도한 뒤 대몽항전의 전시기를 통해 삼별초는 가장 강력한 전투병력이었다. 당시의 군사력으로서는 2군6위(二軍六衛)의 조직이 형식상 남아 있었고, 또 최씨정권의 순수한 사병집단인 도방(都房)의 병력도 존재했으나, 전투병력으로서 가장 위력을 발휘한 것은 삼별초였다.
삼별초는 강도(江都: 임시 도읍지 강화)를 수비하는 방어의 책임 뿐만 아니라, 몽고군의 침입이 있을 때는 본토로 파견되어 몽고군과 싸워 큰 전과를 올렸다. 또한 강화도에서 정변이 있을 때마다 삼별초는 집정무신의 등장에 결정적인 역할을 하였다. 최의(崔竩)를 죽여 최씨정권을 타도한 김준(金俊)과 김준을 살해하여 마지막 집정무신이 된 임연(林衍)이 모두 삼별초의 협력을 얻어 정권을 잡는 데 성공하였다.
삼별초는 권신의 정치권력과 깊이 유착되어 있어 사병적 성격이 농후하였다. 그러나 국가 재정에 의해 양성되고 국고에서 녹봉을 받는 등 권신의 사병과는 구별되었고 몽고와의 항전에 주요한 군사력을 제공하였다. 더욱이 삼별초 가운데 신의군은 전쟁 중에 적에게 포로가 되었다가 돌아온 사람들로 구성되어 있었기 때문에 반몽적(反蒙的) 성격이 다른 어느 군대보다 강했다.
1259년 고려의 태자 전(倎: 뒤의 원종)이 부왕을 대신해 몽고에 입조(入朝)함으로써 30년간 계속된 몽고와의 전쟁은 종식되고 화평이 수복되었다. 이때 최씨정권은 타도되어 일단 왕정이 복구된 외형적 형세였으나, 정부의 실권을 장악한 것은 여전히 무인들이었다. 이러한 무인의 권력은 1270년(원종 11)까지 존속되었으며, 10여 년간의 고려의 내부 정세는 매우 복잡하게 전개되었다.
실권을 잡은 무인들은 출륙환도를 거부하면서 경우에 따라서는 결전도 단행하겠다는 강경한 태도를 보였다. 그러자 원종은 몽고에 접근하여 무인들의 세력을 억제하고 출륙환도를 단행함으로써 왕정복구(王政復舊)를 확립하려고 노력하였고, 몽고는 배후에서 고려 왕실을 조종해 반몽고세력을 배제하려고 획책하였다.
1270년 임유무(林惟茂)가 살해되어 무인정권이 종식되자 원종은 몽고의 지시에 따라 출륙환도를 단행하였다. 삼별초의 입장에서 볼 때 세력 근거지이며 항전의 군사기지인 강화도를 철수해 개경으로 되돌아간다는 것은 멸망을 자초하는 것이었다. 당시 개경은 몽고군에 호위된 국왕이 장악하고 있었고, 몽고 두련가(頭輦哥) · 몽가독(蒙哥篤) 장군이 거느린 병력이 주둔해 있었다. 그러므로 환도는 삼별초의 해체를 의미하였다.
삼별초가 출륙환도의 방침에 불응하자 개경에 도착한 원종은 강화에 장군 김지저를 파견하여 삼별초를 혁파하고 삼별초의 명부(名簿)를 압수하였다. 지금까지 삼별초는 무인정권이라는 정치권력의 중심과 연결하여 몽고와의 항전에 참여해왔다. 그러나 이제 무인정권이 붕괴하고 그 정치권력이 변동하여 몽고와 완전히 결탁함으로써 그에 대항하여 싸워야 하는 입장으로 바뀌게 되었다.
특히 삼별초의 명부를 압수당한 상황에서 명부가 몽고군에 넘어가면 보복을 각오해야만 했다. 이에 장군 배중손(裵仲孫)이 야별초지유 노영희(盧永禧) 등을 설득하여 일단의 삼별초를 규합해서 원종을 폐하고, 왕족인 승화후 온(承化侯 溫)을 새 국왕으로 옹립해 1270년 6월 봉기하였다.
삼별초 정부가 구성되었더라도 강도 문 · 무반 관리의 상당수가 육지로 탈출하고 군사들 또한 육지로 빠져나감에 따라 삼별초는 거점을 이동할 수밖에 없었다. 공사(公私)의 재물과 자녀를 모두 싣고 진도로 내려가는데, 뱃머리와 꼬리가 서로 접하여 무려 1천여 척이나 되었다고 한다.
삼별초가 진도를 새로운 거점으로 정한 것은 우선 개경에서 멀리 떨어져 있어 강화도에 비하여 몽고군의 침입을 수비하기에 훨씬 유리했기 때문이었다. 또한 진도는 경상 · 전라도 지역의 세곡(稅穀)이 조운(漕運)을 통하여 서울로 운송되는데 있어 중요한 길목이었기 때문에 전략적으로도 매우 중요한 지역이었다.
삼별초는 진도 용장성(龍藏城)을 거점으로 삼고 자신들이 고려의 정통정부임을 자처하면서 황제국가를 표방하였고 그 세력을 확대하였다. 합포(合浦: 지금의 경상남도 마산) · 금주(金州: 지금의 경상남도 김해) · 동래 · 거제 · 남해도 · 나주 등 전라 · 경상도 연안의 내륙 지역을 점거하였고, 제주도까지 확보함으로써 후방의 안정지대까지 갖추게 되었다. 이로써 전라도 · 경상도의 조운이 차단되어 정부는 큰 재정적 타격을 입었다.
원종은 김방경(金方慶)을 추토사(追討使)로 삼아 몽고군 1천명과 함께 해상으로 추격하게 하고 뒤이어 참지정사(參知政事) 신사전(申思佺)을 전라도토적사(全羅道討賊使)에 임명하여 전주부사 이빈(李彬)과 함께 삼별초의 진압을 맡게 하였다. 그러나 고려와 몽고의 양군은 모두 위축되어 삼별초와 접전하려고 하지도 않았고, 나주에까지 이른 신사전은 삼별초군이 출륙한다는 소식에 놀라 서울로 도망치고 말았다.
1270년 9월 조정에서는 추밀부사(樞密副使) 김방경을 전라도추토사로 새로 임명하고, 몽고의 원수 아해(阿海)와 함께 토벌하도록 하였다. 고려 · 몽고의 연합군은 진도의 맞은 편에서 진을 치고 삼별초군과 접전했으나 바다에 익숙한 지리적 이점을 충분히 활용한 삼별초군을 제압할 수 없었다.
고려 · 몽고의 연합군은 계속해서 진도를 공격했으나 성과를 올리지 못하였다. 그래서 삼별초 우두머리 배중손을 회유하는 정책을 써서 삼별초군을 분열시키는데 주력하였다. 그러나 1271년(원종 12) 5월 홍다구(洪茶丘)가 새로운 몽고군 지휘관에 임명되고 김방경 · 흔도(忻都) · 홍다구의 대규모의 연합군이 진도를 기습적으로 공격하자 삼별초는 결정적인 타격을 입게 되었다. 미처 예상하지 못한 연합군의 진격 방향에 성안의 지휘부는 혼란에 빠져 제대로 싸워보지도 못한 채 무너졌고, 배중손과 승화후 온 등도 희생되었다. 진도에 있던 대부분의 사람들도 포로로 잡힌 채 일부만이 김통정(金通精)의 지휘 하에 진도를 빠져나와 제주도로 옮기게 되었다.
삼별초군은 제주도로 이동해 우선 방어진지의 구축에 힘쓰고, 제해권 유지에 힘을 기울였다. 점차 세력을 확보한 삼별초군은 이듬해인 1272년(원종 13)부터는 주로 전라도와 경상도 연안 지역에 진출하여 개경으로 운반되는 조운선(漕運船)을 공격해 세곡을 약탈하였다. 11월에는 거제도에 들어가 현령(縣令)을 사로잡았고, 안남도호부(安南都護府: 지금의 경기도 부천)를 공격해 부사(府使)와 그 처를 납치했으며, 또 합포에서 전함 20척을 불태웠다. 즉 삼별초는 제주도로 옮긴 초창기를 제외하고는 연해 지역에 대한 제해권을 가지고 있었고, 고려의 관리와 몽고군 등에 대한 공격을 계속하여 반정부 · 반몽고의 성격을 계속 유지하였다.
삼별초가 경기 지역까지 출몰하자 원종은 삼별초의 진압에 온 힘을 기울였고, 원나라 세조(世祖: 쿠빌라이) 또한 일본정벌의 기지로서 제주를 중요시해 1272년 8월 사신을 보내 제주 공략을 촉구하였다. 이에 홍다구는 처음에는 김통정에게 회유공작을 폈으나 성과가 없자, 1273년(원종 14) 2월 김방경 · 흔도 · 홍다구로 이루어진 대규모의 연합군이 제주를 공격하였다. 이 때 연합군은 병선 160척, 수군 · 육군 1만 인(고려군 6천 인, 몽고군 2천 인, 한군 2천 인)이었다. 연합군의 대대적인 협공으로 삼별초의 수령 김통정은 70여 명의 휘하 부장과 함께 산 속으로 피신했지만 부장들은 연합군의 수색에 의해 거의 체포되어 홍다구의 손에 의해 처단되었다. 김통정은 자결한 시체로 발견되었으며, 남은 1,300여 인도 포로가 되었다. 이리하여 삼별초의 항쟁은 약 3년 만에 진압되었다.
삼별초가 고려 · 몽고 연합군의 우세한 병력의 공격에도 3년간이나 버틸 수 있었던 것은, 첫째, 삼별초가 매우 우수한 정예 전투병력이었기 때문이었다. 둘째, 배후에 남부 지역 각처의 농민들이 삼별초의 항거에 적극적으로 호응하였기 때문이었다. 특히 정부와 몽고군에 대해 투쟁하려는 굳은 결의가 민중 사회의 내부에 고양되어 있었다는 사실은 중요한 역사적 의미를 가진다.
경상도 밀성군(密城郡) · 청도군(淸道郡)의 농민들은 진도의 삼별초에 호응해 관헌을 습격하고 폭동을 일으켰다가 1271년 1월에 진압되기도 하였다. 또 같은 시기에 개경의 관노(官奴)들이 삼별초에 동조해 몽고의 다루가치[達魯花赤]와 정부 관료를 죽이고 진도로 도망갈 계획을 세웠다가 탄로되어 처형되기도 하였다. 이 사건들은 당시 반정부 · 반몽적인 민중의식의 일단을 보여주는 것이다. 이러한 민중들의 저항정신이 삼별초의 대몽항쟁과 서로 동조하게 된 것은 삼별초 항쟁의 역사적 성격을 뚜렷이 보여준다.
삼별초의 항쟁은 고려를 예속화하려던 몽고의 정책과, 조국의 예속화와 종속적 위치를 감수하면서도 자신의 특권적 지위를 보호하려던 국왕 및 그 일파의 행동에 반발, 항거한 병사들의 항쟁이었다. 이것이 민중들의 동조와 지지를 얻을 수 있었고, 비록 실패에 그쳤지만 연합군을 상대로 3년간 버틸 수 있었다는 점에 역사적 의의가 있다.
삼별초의 항쟁 기간 동안 정부는 민중들의 지지를 얻지 못했기 때문에, 자력으로 사태를 수습할 능력은 없었다. 그리하여 항상 몽고군의 군사적 원조를 받아 토벌작전을 진행하고 육지에 있는 농민들에게 가혹한 억압을 가하였다. 이것은 이미 왕실중심의 고려왕조가 완전히 민심에서 이탈되어 몽고의 종속정권으로 전락되어 있었음을 말하는 것이다.