조경민(차인표 분)은 대한민국 육군 소위로 전쟁 중 포로로 체포된다. 휴전 협정이 체결되고 포로 송환이 이루어지리라 기대하고 있었지만 북한은 그런 협정에 아랑곳 하지않고 그들을 북으로 끌고 간다. 경민은 그것에 항의하여 두 차례의 탈출을 시도했지만 모두 실패한다. 인간이라고 하기엔 모든것이 억압된 수용소 생활을 겪게 된 경민은 언젠가는 자유의 몸이 되리라는 희망을 버리지 않는다. 그곳에서 어린 시절의 절친한 친구이자 한 여자를 사이에 둔 사랑의 라이벌인 평산(이정재 분)과 운명적인 해후를 맞게 된다.
평산은 정치 보위부 상좌로 실연의 상처를 안고 월북한 공산주의자인데, 경민에 대한 패배의식에 사로잡혀 그를 자기앞에 굴복시키려 한다. 경민은 포로수용소에서 정치 교화소로 넘겨져 사상전환을 강요당한다. 여러 지역의 특별교화소를 거친 그는 사회로부터 완전히 통제되어 있는 회령 22호 정치범 수용소에 감금되기에 이른다. 오직 살아남기 위한 본능만이 존재하는 곳. 탈출은 곧 죽음을 의미하는 그곳은 숨쉬는 자유만이 허락된 공간이다. 수용소에는 남한 출신의 해군소령(전무송 분), 미군 스파이로 몰려 끌려온 소련 유학생 주형(이휘재 분), 한때 수용소 소장이던 천불(이부정 분), 반동분자로 몰린 외교부 부부장과 그의 아름다운 두 딸 서용(강리나 분)과 부용(금은정 분), 일본에서 온 아끼꼬(김경진 분) 등이 있다. 탄광에서의 강제노동과 굶주림, 사상전환을 강요하는 평산의 집요한 괴롭힘에도 불구하고 경민은 탈출에 대한 희망을 버리지 않는다. 소령은 7년여동안 준비해오던 두만강으로 통하는 지하 탈출구를 경민에게 알려주며 함께 탈출을 계획한다.
한편, 호텔을 가장한 초대소에는 말살대상자와 처형되는 일부 포로들의 장기와 혈액을 채취하여 해외로 수출하는 작업이 비밀리에 진행되고 있다. 보위부 첩자 노릇을 하고있던 주형의 누설로 탈출 시도는 무산되고 경민은 20일을 버티어 낸 적이 없다는 수용소 독방에 갇히게 된다. 서용은 사랑하는 경민을 위해 자신을 희생하기로 결심하고 그 대가로 경민에게 소량의 식량의 배급된다. 수용소안에는 페스트로 사람이 죽어나가는 사건이 발생한다. 정치 보위부는 이 일의 조기수습을 위해 포로 전원을 몰살시킬 엄청난 계획을 세우고 이를 눈치챈 포로들은 목숨을 건 반란을 일으킨다. 평산은 경민의 자유를 향한 끈질긴 의지에 감동받아 결국 그의 탈출을 돕는다. 두만강을 앞에둔 높은 절벽. 강물에 뛰어드는 경민의 뒤로 울리는 총소리. 평산은 우정과 사랑을 위해 비극적인 죽음을 맞이한다. 꿈 속에서도 잊지않던 자유의 숨결, 조경민 그는 그렇게 탈출에 성공한다.