The 21-year-old from Brampton, Ont., was the first Toronto FC academy product to graduate to the first team. He was sold to Cypriot club Apollon Limassol early last year but remained with the MLS club on loan.
West Ham said Henry had joined on a long-term contract for an undisclosed fee. Toronto will get a portion of the sale.
Henry wear No. 25 for the Hammers.
"I just want to get started and hopefully get in the team soon ... I know I have to earn the respect here from the players. That's fine. I just want to work hard and continue to move forward in my career," Henry told the club website in an interview.
Henry, who has won 14 caps for Canada, has had two training stints at West Ham already, thanks to former Toronto manager Ryan Nelsen who played under West Ham boss Sam Allardyce at Blackburn.
"Ryan was my captain at Blackburn for a couple of years and he rang us and told us about Doneil," Allardyce said. "He said this lad definitely has Premier League potential and he has everything he needs. With a little coaching from us and work in terms of how to defend in the Premier League, Ryan says he has all the attributes to be a good player.
"We have invested in him for the near future, so we do hope he can make some sort of appearance this season if he settles in and does as well as Ryan thinks he will. If not, we hope he is certainly one for the future."
West Ham has been one of the surprises of the English Premier League season. The Hammers currently stand seventh in the standings with a 9-6-5 record.