Image copyright Reuters Image caption Cumberbatch has played Sherlock in three series of the BBC One drama

Sherlock and Star Trek actor Benedict Cumberbatch is to play Hamlet on stage next year.

The 37-year-old will star in William Shakespeare's classic tragedy at the Barbican Theatre in London from August to October 2015.

Lyndsey Turner will direct the play for Sonia Friedman Productions.

Friedman said she was "thrilled" to be producing the show, describing its star as "one of the most gifted and exciting actors of his generation".

Best known for his role in BBC One's updated Sherlock Holmes series, Cumberbatch was recently seen in 12 Years a Slave and heard in The Hobbit: The Desolation of Smaug.

'Right age'

He was last seen on stage in the National Theatre's 2011 production of Frankenstein, directed by Danny Boyle, in which he shared the roles of Frankenstein and his Monster with Jonny Lee Miller.

Turner was widely praised for her direction of Lucy Kirkwood's play Chimerica, while her revival of Sophie Treadwell's 1928 play Machinal recently ended an acclaimed run on Broadway.

Booking details for the 12-week run will be announced in May.

Cumberbatch revealed last year he would be playing Shakespeare's Danish prince "sometime in autumn on the London stage".

"It's a role I've been interested in for a long time," he told the Daily Telegraph in 2012.

"I don't know if there is such a thing as a right age to play the part, but 36 or 37 seems appropriate to me."