The 32-year-old is Wolves' fourth signing of the January transfer window after Matheus Cunha, Pablo Sarabia and Mario Lemina.
Dawson has cost Julen Lopetegui's side £3.3m after losing his place in the West Ham backline, only making eight appearances in the Premier League this season.
He played an instrumental role in David Moyes' side reaching the semi-finals of the Europa League last season, knocking out a Sevilla side managed by Lopetegui along the way.
Commenting on the signing, Wolves' sporting director Matt Hobbs told the club's official website: "In my first interview, I talked about players who know the league are important. Personalities are important. We lost a few leaders in the summer with John [Ruddy], Conor [Coady] and Romain [Saiss].
"We're bringing another leader into the group, which is always a positive, but if you look at our centre backs, they're all relatively young, not just in age, but also the number of games they've played in English league football, let alone the Premier League.
"The amount of games Craig has played, he can be a foil for those guys on and off the pitch. He's going to be a very good player for our squad and will be someone our young centre halves will learn a lot from and will help develop those players."
Dawson has also previously played for West Bromwich Albion and Watford, amassing over 200 Premier League appearances in that time.