The 23-year-old, the son of motorcycle great Mick Doohan, started six races for Alpine last year before being dropped and replaced by Argentine Franco Colapinto.
Doohan joins Japan's Ryo Hirakawa, 31, on US-owned Haas's reserve roster.
"It’s the ideal place to continue my Formula 1 career," Doohan said of the Toyota-backed outfit.
Team boss Ayao Komatsu said the Australian's experience as a reserve with Alpine was another plus.
"The dedication required to remain sharp and prepared to race while getting to know how the team works and so on, it’s challenging for any driver - especially one who’s obviously still very keen to race again at this level," he added.
"I’ve enjoyed getting to know Jack and we’re looking forward to welcoming him into the team and benefiting from his contributions."
The season starts with the Australian Grand Prix in Melbourne on March 8.
