Cadfan was the son of King Iago of Gwynedd for whom he fought at the Battle of Caer-Legion (Chester), against King Aethelfrith of Bernicia, in AD 613. When it was over, he found that his father was dead and he was King. The Battle of Bangor-is-Coed (Bangor-upon-Dee) followed in quick succession, and the young monarch showed such leadership that he was, afterwards, declared High-King of the Britons.
This border campaign was centred on Aethelfrith's attempts to recapture his enemy, the exiled King Edwin of Deira. According to Geoffrey of Monmouth, this young lad had been taken in by Cadfan and raised as his foster-son; but the two were actually of similar age and so it seems that Edwin was really Cadfan's foster-brother. So many Welshmen fell in the two battles that Edwin felt it best to move on and left Gwynedd for the court of King Redwald of East Anglia.
Cadfan was a patron of St. Beuno and married Afandreg Ddu (the Black) daughter of King Cynan Garwyn of Powys. He was the "wisest and most splendid of all kings" according to his memorial stone which can still be seen today in the church of Eglwys Ael (Llangadwaladr) on Ynys Mon (Anglesey). He was buried there after dying, probably at nearby Aberffraw, around AD 625. Cadfan was succeeded by his son, Cadwallon.