Ocon will partner British rookie and Ferrari reserve Oliver Bearman in an all-new lineup and joins from Renault-owned Alpine, who had already announced the 27-year-old's departure.
Ferrari-powered Haas entered Formula 1 in 2016 but have yet to win a race.
Ocon took the sole triumph of his career to date with Alpine at the 2021 Hungarian Grand Prix. The Frenchman has started 146 races and also competed for the now-defunct Manor and Force India teams.
"I've obviously been aware of his talents for a long time and our personal history dates back to Esteban's maiden run in a Formula 1 car," said Haas boss Ayao Komatsu, who was previously a race engineer at Lotus, the team that is now Alpine.
"The experience he brings, not just from his own talent base but also from working for a manufacturer team, will be advantageous to us in our growth as an organization."
Komatsu said having an experienced driver alongside 19-year-old Bearman was of vital importance but also that Ocon is still young and has a lot to prove.
"I’ll be joining a very ambitious racing team, whose spirit, work ethic, and undeniable upward trajectory has really impressed me," said Ocon.
"I’d like to thank Gene Haas and Ayao Komatsu for their trust and support, and for our honest and fruitful discussions these last few months."
Haas are seventh in the constructors' standings ahead of this weekend's Belgian Grand Prix, 18 points ahead of eighth-placed Alpine.
Haas had already announced the departure of Danish driver Kevin Magnussen while German teammate Nico Hulkenberg is moving to Sauber, who will become Audi in 2026, next season.