Cadwallon reigned over Gwynedd from 625 until his death in 633. Gwynedd was a powerful Welsh kingdom, said to have a strong sense of its British and Roman heritage.

He was an ally of Penda of Mercia. Together in 632 or 633 they invaded the Kingdom of Northumbria. Their forces killed King Edwin of Northumbria in battle just south of York, at Hatfield Chase.

In c.634 King Oswald of Northumbria killed Cadwallon near Hexham. (Then, in 642 Penda killed Oswald near Oswestry in Shropshire.)

The 12th-century priest Geoffrey of Monmouth considered Cadwallon and his son Cadwaladr to be the last high kings of Britain.