Willem Dafoe has joined the cast of Guillermo del Toro's 'Nightmare Alley'.

Willem Dafoe

Willem Dafoe

According to The Hollywood Reporter, the four-time Oscar-nominee is set to join Bradley Cooper in the adaptation of William Lindsay Gresham's 1946 novel of the same name. It first hit the big screen with a film adaption the following year.

The 64-year-old actor - whose filmography includes 'Mississippi Burning', 'Spider-Man' and 'The Lighthouse' - will play a head barker trying to entice customers into a travelling carnival in the film, which also stars Toni Colette, Rooney Mara, Cate Blanchett and David Strathairn.

'Nightmare Alley' follows Stanton 'Stan' Carlisle - played by Bradley - a man who joins the carnival where he attempts to learn the ways of mind-reading act of Mademoiselle Zeena and her alcoholic husband Pete.

According to the book's official synopsis, the story is a "dark jewel, a classic American tale about the varieties of deception and self-deception and the dream of redemption - a dream that is only a nightmare in disguise".

Following Pete's death, Zeena takes on Stan as a stage-partner where he proves more successful than her late husband and soon graduates to full-blown spiritualist, catering to the needs of the rich and gullible in their well-upholstered homes.

'The Shape of Water' director Guillermo will oversee the film and has also written the script along with Kim Morgan. It is expected to begin production in Toronto in early 2020.

Toni previously spoke about her anticipation at working with the Oscar-winning filmmaker.

She said: "Guillermo is a true auteur. I look forward to collaborating with him and the amazing cast he has already assembled. What an honour."