浅草田原町の旗本中川三郎兵衛の家臣市九郎は、主人の寵妾お弓と密通していた。やがて不義が露見し、主人と死闘を繰り広げた末に誤って殺してしまう。お弓と共に江戸を逃れた市九郎は、当初は罪悪感に苛まれていたが、次第に悪事に染まっていく。
二人は美人局から強盗へと犯罪を重ね、木曾街道の鳥居峠に住み着いて旅人を襲う生活を続けた。ある日、信州の豪農夫婦を殺害した市九郎だったが、女の装身具を取り忘れたことでお弓から激しく責められる。その夜、良心の呵責に耐えかねた市九郎は突然出奔し、九州へ向かう。
放浪の末、市九郎は僧となって了海と名を改める。やがて豊前と豊後を隔てる険しい山中で、多くの旅人が命を落とす難所に出会う。了海は二十年の歳月をかけて、たった一人でこの岩山にトンネルを掘り抜く偉業を成し遂げた。人々はこの功績を讃えたが、了海の心に安らぎが訪れることはなかった。しかし、ある日偶然にも、かつて自分が殺した夫婦の遺児と出会い、ついに真の救済を得るのである。