신라에 도화녀(복사꽃이라는 뜻)라고 하는 아름다운 여인이 살고 있었다. 신라의 왕 진지대왕(사륜왕)은 어느 날 우연히 도화녀를 보고 사랑에 빠졌고 도화녀를 궁으로 불렀다. 그러나 도화녀는 이미 남편이 있는 몸이었기에 진지왕의 고백을 거절한다. 진지왕은 그런 도화녀에게 남편이 없다면 자신의 청을 수락하겠냐고 묻고, 도화녀는 마지못해 그러겠다고 대답한다. 그후로 얼마 후, 진지왕은 권력다툼으로 사람들에 의해 폐위당하고 곧 죽는다. 3년 후 도화녀의 남편도 죽었는데, 며칠 후 도화녀의 앞에 진지왕의 혼이 나타났고 남편이 없으니 약속을 지키라고 요구한다. 그렇게 하여 일주일 동안 함께 지내게 되는 도화녀와 진지왕. 도화녀는 곧이어 임신을 하고 열달 후 비형랑이라는 아이를 낳는다. 이 소문을 듣게 된 진평왕은 이상한 소문을 듣고 아이를 궁중에 데려다가 길렀다. 15세가 된 비형랑은 왕으로부터 집사라는 벼슬도 받는데, 밤마다 궁에서 어딘가로 멀리 사라졌다고 돌아오곤 하였다. 이를 이상하게 여긴 진평왕은 군사들을 시켜 비형랑의 뒤를 밟게 하는데…