고려 중기, 사월은 장터에서 비를 만나 처마 밑으로 피하는데 한유가 그녀를 발견하고 수하들에게 뒤를 쫓으라고 한다. 사월은 어느 오두막에 들러 경충에게 물건을 전하고, 집에 돌아온다. 남편 진무, 딸 소미와 잠든 밤에 한유의 무리가 들이닥친다. 진무는 희생되고, 사월은 급히 소미를 배에 태워 보낸 뒤 적의 공격에 죽는다.
소미는 마침 낚시를 하던 도사에게 구출된다. 도사는 한유에게 죽은 경충의 아들 웅검도 구한다. 부모의 죽음에 충격을 받은 소미는 말을 잃었다.
소미는 웅검과 무술을 배웠다. 어느 날 ‘여자라서 원수를 갚을 수 없다.’는 말을 듣는다. 도사는 내 무술은 정진의 참된 도리인데 남녀노소에 무슨 차별을 두냐며, 오히려 동료들이 소미를 나약하게 만들었다고 연무생들을 질책한다.
그리고 도사는 과거에 진무, 경충과 함께 현류발도 그의 제자였는데 현류발은 사월이에게 눈독을 들였고 권력을 쥐자 부패를 일삼으며, 농민과 연대한 진무, 경충과 대립하다가 그들을 죽인 것이니 원수를 꼭 갚으라고 한다.
세월이 흘러 소미와 웅검은 단오를 맞아 장터에 나갔다가 수박도장의 무리와 부딪친다. 그때 소미를 알아본 부하는 현류발에게 소미가 살아있다고 고한다.
얼마 후 현류발의 제자 성평은 도사를 찾아와 무술을 배우고 싶다며 거두어 달라고 한다. 소미에게 친절한 성평은 그림을 선물하는데 원수를 갚아주겠다는 글이 적혀있다. 웅검은 갑자기 나타난 성평을 수상하게 여기고 도사는 박수도장에 사람을 보내 성평의 의도를 확인하려고 한다.
도사는 소미가 가져온 물을 마시고 쓰러지며 웅검과 힘을 합치라고 말한 후 죽는다. 연무당은 큰 슬픔에 빠지고, 웅검은 당시 물항아리 주변에 성평이 있었다며 그 물을 마시라고 한다. 그런데 성평이 물을 마셔도 별 탈이 없다. 성평은 이런 대접받으면서 머물 수 없다며 소미에게 원수를 갚아 줄 테니 산에서 내려가자고 하고, 소미는 함께 간다.
박수도장에 돌아온 성평은 현류발에게 약속대로 소미를 데려 왔다고 한다. 바로 죽이려는 그를 성평이 말리며 경충의 아들 웅검이 소미를 구하러 올 것이니 그때 처리하자고 한다. 그리고 도사의 잔에 독을 발라 살해했다고 보고한다.
웅검과 연무생들은 소미를 구하기 위해 박수도장을 습격해서 힘들게 탈출에 성공한다. 그러나 뒤따른 성평 무리에게 동료들이 죽고, 웅검도 잡힌다. 성평은 소미에게 보란 듯 웅검을 죽이고 급습하는 화적단을 피해 후퇴한다.
화적단은 진무의 딸 소미를 확인하고 돕겠다고 한다. 그리고 소미의 살해를 청부한 성평을 화적단에 불러들여 소미와 대결하게 하고, 소미는 성평을 처리한다.
이후 현류발은 연무당을 불태우고 사람들을 죽인다. 소미는 뱃놀이를 하던 현류발을 기습해 드디어 원수를 갚는다.
화적단은 소미에게 과거 부친과 함께 싸우던 것을 이야기하며 이제 소미가 대장이 되어 백성을 구하고 또 다른 현류발들을 쓸어버리자고 한다. 소미는 수많은 백성과 함께 의적단을 이끌며 길을 간다.