Cadwallon grew up at Aberffraw in the shadow of King Edwin of Deira who appears to have been his foster-uncle (an impossible legend says his foster-brother). At a young age, his father, King Cadfan, sent him to the Royal Breton Court of King Salomon where received a fine British education. Edwin may have gone with him and a petty rivalry was born between them that, in manhood, turned to war!
After Edwin left the Royal Gwynedd Court, he was able to recover a united Northumbrian crown with the help of the Saxon Bretwalda, King Redwald of East Anglia in AD 616. He then appears to have turned to expansionism. First, Edwin conquered the British Kingdom of Elmet. Then, after Cadfan's death, he turned on Gwynedd. He attacked Ynys Manaw (Isle of Man) by sea and, from here, spring-boarded to Ynys Mon (Anglesey) where Cadwallon underwent some crushing defeats. The King of Gwynedd was pushed back to the tiny Ynys Lannog (Isle of Priestholm) where he was besieged for several weeks before managing to escape to Ireland. From here he moved on to Guernsey and then to the court of his cousin, King Salomon II of Brittany. Together they plotted revenge.
Cadwallon sent an advance party to Britain to rally his men and those of the other British kingdoms, while he prepared a Breton invasion force. The advance guard landed in Dumnonia, but were immediately caught up in a Mercian siege of Caer-Uisc (Exeter). King Clemen was, thus, in no position to help the Gwynedd cause. However, Cadwallon soon arrived with his army and crushed the Mercians, forcing their King, Penda, into a mutual anti-Northumbrian alliance, sealed by Cadwallon's marriage to Penda's sister, Alcfrith. Together, they marched north to regain Gwynedd at the Battle of Cefn Digoll (Long Mountain near Welshpool). They did not stop there, however, and hounded the Northumbrians back to their own kingdom. Here they wreaked revenge on the Northern Angles, burning York, sacking Yeavering (Ad Gefrin) and butchering Northumbrians as they went. So savagely did Cadwallon treat them that the Northern Angles thought they were all to be exterminated.
Edwin was finally killed at the Battle of Meicen (Hatfield Chase) in AD 633, but this did not entice Cadwallon to leave Northumbria. Edwin's cousin, Osric, managed to rally the Nothumbrian troops and besieged the King of Gwynedd at York. Cadwallon, however, broke out, caught Osric unawares and destroyed his entire army. Aethelfrith of Bernicia's son, Enfrith, then returned from Pictland and tried to negotiate peace with Cadwallon. The King would have none of it though and Enfrith was also slain. Within a year, however, Enfrith's half-brother, Oswald, marched south from his exile in Scottish Dalriada and encountered Cadwallon at Catscaul or "Cad-ys-gual", the Battle of the Wall (Heavenfield, near Hexham). Here Cadwallon died. Conflicting evidence suggests he may have survived the battle and died in AD659, though this is unlikely. Tradition says he was buried beneath the Ludgate of Caer Londein, where he still occasionally held court over both Britons and Saxons. A mounted statue of him is said to have been raised upon its top. His son, Cadwaladr Fendigaid, being only about a year old, the throne was seized by one Cadfael ap Cynfeddw.