Game of Thrones star Natalie Dormer has been cast as Irene Adler in Elementary.

The 31-year-old actress, who plays Margaery Tyrell in the HBO fantasy series, will take on the role that was played by Lara Pulver in BBC's Sherlock and Rachel McAdams in the Robert Downey Jr film series.

Dormer will portray the role of Lara in a three-episode arc of the CBC series which stars Jonny Lee Miller and Lucy Liu.

Elementary's executive producer Rob Doherty said: "We're moving to the next chapter in our show - and in some ways, to a previous chapter in Holmes's story.

"Irene Adler is perhaps the most pivotal relationship in Sherlock's life, and I can't think of an actress better suited to the challenge than Natalie."

Dormer will make her debut in the May 9 episode and return for the two-hour season finale on May 16.