The centre-back seals a return to the Midlands having spent a large chunk of his playing career at West Brom before moving to London in 2020.
Dawson joins Wolves for a £3.3million fee after weeks of speculation, which saw West Ham boss David Moyes critical of Julen Lopetegui for making his interest in the defender public earlier this month.
One-time Great Britain player Dawson has not been signed in time to feature in Sunday’s trip to Manchester City but has agreed a two-and-a-half-year deal, the Molineux outfit announced.
He initially made his name at West Brom, appearing more than 200 times before impressing at West Ham where he played a key role in their run to the Europa League semi-finals last season.
Dawson helped knock out Sevilla, who were then managed by Lopetegui, but will now get the chance to work with the Spanish coach.
A West Ham statement read: “Craig made very clear his wish to be granted the move for personal reasons, and whilst the Club was reluctant to agree to the transfer, he leaves with our thanks and appreciation, and we wish him well in his future career.”
Additional reporting by PA.