I 1053 beordret Edvard drapet på den sørwalisiske fyrste Rhys ap Rhydderch, konge av Deheubarth, som represalier for angrep på England, og waliserens hode ble overlevert til Edvard. I 1055 etablerte Gruffydd ap Llywelyn seg som hersker over hele Wales, og allierte seg med Ælfgar av Mercia som var blitt lyst fredløs for forræderi. Hvorfor dette skjedde er uklart, og omtalen av de hendelsene som førte til at han kom inn i varmen igjen er knappe. Den eneste angelsaksiske kronikøren sier at «Jarl Ælfgar ble drevet ut, men han kom snart tilbake igjen med vold via hjelpen til Griffin, og en flåte fra Norge.» Det synes som om at da Ælfgar måtte forlate landet skaffet han seg en flåte på 18 skip i Irland, kanskje fra den norrøne befolkningen i Dublin, og seilte til Wales ettersom hans datter var gift med Gruffydd. De beseiret jarl Ralf ved Hereford, og Edvard beordret Harald til å gå til motangrep. Han måtte samle styrker fra bortimot hele England for å kunne drive angriperne tilbake til Wales. Fred ble inngått ved at Ælfgar fikk tilbake sine rettighet, og kunne etterfølge sin far, som døde i 1057, som jarl av Mercia. Gruffydd sverget en ed på å være en trofast underkonge av Edvard. Ælfgar synes å ha dødd i 1062, og hans unge sønn Edwin fikk lov til å overta jarledømmet. Harald Godwinson satt i gang et overraskende angrep på Gruffydd i 1062, som unnslapp, men da Harald og Tostig angrep på nytt året etter, trakk han seg tilbake og ble deretter drept av sine walisiske fiender. Edvard og Harald greide da å gjøre flere mindre walisiske fyrster til sine vasaller. Ælfgars datter Ældgyth (anglifisert til Edith), som ble gift med Gruffydd, giftet seg senere med sin ektemanns fiende Harald Godwinson som hans andre hustru. Når det skjedde er ukjent, men antagelig en stund før 1066. Han var allerede gift , «på dansk vis», med Ædgifu eller Edith Svannakke (også anglifisert til Edith, og derfor forveksles disse to jevnlig), som hadde gitt ham seks barn, men det er uklart om han rakke å få barn med Ældgyth før hun ble enke for andre gang.