The 24-year-old English actress, whose film credits include "Wrath of the Titans" and "Broken," is taking over the part from the "Harry Potter" veteran Watson, who was penciled in to star but left the project earlier this year.
Other actresses rumored to be in contention for the starrring part included Saoirse Ronan ("Atonement"), Alicia Vikander ("Anna Karenina"), Margot Robbie (TV's "Pan Am") and Bella Heathcote ("Dark Shadows").
The movie originally was going to be directed by "Never Let Me Go's" Mark Romanek, who left over creative differences. Actor Kenneth Branagh, who made the coming spy thriller "Jack Ryan," is now behind the cameras.
The "Cinderella" adaptation was written by Aline Brosh McKenna, whose credits include "The Devil Wears Prada."
James joins a cast that includes Cate Blanchett as the fairy tale's evil stepmother. The movie is due out next year.