After months of heated speculation from fans, the film adaptation of E L James' erotic bestseller Fifty Shades of Grey has finally cast its lead stars.

British actor Charlie Hunnam has won the role of suave billionaire Christian Grey. Charlie, 33, is best known for his role as Jax Teller in US bikie series Sons of Anarchy, as well as his recent hero turn in sci-fi monster blockbuster Pacific Rim.

Christian Grey's college graduate lover Anastasia Steele will be played by Dakota Johnson, from short-lived US series Ben and Kate. So much for those Ryan Gosling and Emma Watson rumours!

Dakota may not be a household name just yet, but her parents are: the 23-year-old is the daughter of Melanie Griffith and Miami Vice's Don Johnson. She certainly won't go unnoticed after Fifty Shades!

EL James announced the exciting news on Twitter this morning, saying she was "delighted" about "lovely" Dakota and "gorgeous and talented" Charlie.

"To all the supporters, lovers and haters — thank you so much for the passion that you have for this project. You all rock. All of you," James tweeted.

Fans are coming to terms with the news in their own different ways.

"How about a double no?" one fan tweeted.

"Will need convincing on her. But YAY on him. Not what I pictured Christian looking like, but Charlie is sexy as hell," wrote another. Do you agree? Tell us below!

Fifty Shades will be directed by Sam Taylor-Johnson (Nowhere Boy), and will hit cinemas on July 31, 2014 in Australia.