A finalist in TV talent show I'd Do Anything has landed a leading role in the screen version of Les Miserables, opposite Hugh Jackman and Russell Crowe.
Shocked Samantha Barks learned she had won the part of Eponine when producer Sir Cameron Mackintosh stepped on stage at the curtain call for her current stage show.
The 21-year-old was chosen after film-maker Tom Hooper - who picked up an Oscar for The King's Speech - spent months trying to cast the role, with Scarlett Johansson and Taylor Swift reported to be among those in the running.
Samantha, from the Isle Of Man, said: "It's the happiest moment of my life. The moment I found out I started to shake and then I started crying. I'm still shaking now."
Samantha came third in I'd Do Anything in 2008, losing out to Jodie Prenger for the role as Nancy in Oliver!
However, she is currently playing the part at the Palace Theatre, Manchester, as part of a UK tour and has already played Eponine in the West End.
Sir Cameron announced she had got the role when he appeared on stage last night.
Also due to appear in the screen adaptation of the hit musical are Anne Hathaway, Eddie Redmayne and Amanda Seyfried.
Samantha added: "I can't believe I'm going to play Eponine, a role so close to my heart, a role I played in the West End."
Filming begins in March.