嘉吉元年(1441年)佐伯惟世によって築かれたと云われる。 佐伯惟世は佐伯氏九代当主で、栂牟礼城を築いた佐伯惟治の父である。
嘉吉元年(1441年)周防の大内氏が豊後に侵攻したとき、佐伯惟世が八幡山城や宇山城などの城砦を築いて立て籠もり、これを撃退したという。
天正14年(1586年)島津氏が豊後に侵攻したとき、これを迎え撃った栂牟礼城主の佐伯惟定がこの地に陣を構え、山田匡徳が指揮した堅田合戦で島津軍を撃ち敗った。
八幡山城は堅田小学校の東にある標高57mの丘陵に築かれている。 現在は独立丘陵のようであるが、かつては北を除く三方が海に面していたという。
八幡山城は大きく南北二郭に分かれており、その間に数mの巨大な堀で遮断し土橋を架けて繋いでいる。この堀は圧巻でこれだけ長い土橋も珍しい。
主郭は南側で山頂部には城八幡の旧社があり石祠が祀られている。この一段小高くなった曲輪から北へスロープが伸びているが、これは旧参道のようである。ここから北へ向かって長い曲輪が続き、先端には小さく食い違いになった土塁が二つあり、虎口を形成している。主郭の南と東にそれぞれ一条ずつ堀切があり、長く伸びた竪堀によって尾根を遮断している。
北側の二郭は北端部が削られて消滅してしまっているが、西尾根に一条堀切が残っている。
南側の道路沿いに山腹にある城八幡(堅田八幡宮)への参道が付いており、参拝者用の駐車場がある。山腹の城八幡の脇からよじ登ると簡単に山上に登ることができる。
最寄り駅(直線距離)