Actor Terrence Howard, shown Dec. 11, 2008, is to play Nelson Mandela in the film Winnie. ((Chris Pizzello/Associated Press))

American actor Terrence Howard has been cast in the role of Nelson Mandela in the historical drama Winnie, according to a report from the U.K. Press Association.

Howard will portray the South African leader in the life story of his often-controversial wife, Winnie Mandela, to be played by Jennifer Hudson.

Howard, 40, previously starred in Ray, Hustle & Flow and Iron Man.

Darrell Roodt is directing the $15-million US historical drama, based on the book Winnie Mandela: A Life by Anne Marie du Preez Bezdrob. Roodt and Andre Pieterse penned the screenplay.

The South Africa/Canada co-production is set to start production on May 31 in Cape Town, Johannesburg and Robben Island, where Mandela was held prisoner for 18 years.

Morgan Freeman played Mandela in the film Invictus.