Weaver's first paid theatre role was in
Trevor Nunn's 2004 production of
Hamlet, at the
Old Vic theatre in
London. Weaver played the title role on Monday evenings and at all matinees, whilst
Ben Whishaw took on the role for evening performances, from Tuesday to Saturday. British politician
Michael Portillo lauded Weaver's interpretation of Hamlet in
The New Statesman: "He [Weaver] gave meaning to the poetry, refusing to be rushed in the soliloquies or intimidated by them, varying volume and pace well. Frame by frame, he made credible Hamlet's progression from self-indulgence to nobility, so we could nearly believe Fortinbras' remark that 'he was likely, had he been put on,/To have proved most royally'." Weaver has appeared in minor roles in films such as
Colour Me Kubrick (2005) (uncredited),
The Merchant of Venice (2004),
Marie Antoinette (2006), and
Unmade Beds (2009);
Me and Orson Welles (2009 film). he also played "The Kid" in
Doom, "Schwob" in
Colette, and an uncredited Gulf War soldier in
Armistice (2014). His television credits include D.C. Billy Slaven in
The Inspector Lynley Mysteries (episodes "In Pursuit of a Proper Sinner" and "A Cry for Justice") and National Antiquities Museum employee Andy Galbraith in
Sherlock episode "
The Blind Banker". Weaver has been in
Five Days (TV miniseries) as Josh Fairley. He has also been in
Five Daughters (TV miniseries) played Tom Alderton. Weaver also has been in
Secret State as Josh Leyton. Weaver also appeared in
Southcliffe (TV miniseries), where he played Anthony. Weaver was in
Life in Squares (TV miniseries) and played Young Leonard Woolf. He was also in
The Smoke where he played Tom. Weaver was in
The Nativity, in which he played Thomas. Weaver was in
Personal Affairs playing Crawford Crawford. His theatre credits include Meshak in the
Royal National Theatre's 2006-07 production of
Helen Edmundson's
Coram Boy. Weaver plays fledgling
Anglican curate Leonard Finch in the TV series
Grantchester (since 2014), who assists the Vicar of Grantchester, Sidney Chambers, and later, Will Davenport. He also directed the third episode of season 8. Radio credits include
Bach: The Great Passion, a 2017 biographical radio play by the English writer
James Runcie, where he played
Christian Henrici. Weaver also presents radio shows at a pub called the Boogaloo based in north London. One is called Film And Telly Stuff, which he presents with actor Luke Neal and the other is called The Theme's Of Our Youth, which he presents with actor Jack Whitam. In September 2017, the BBC announced he had joined the cast of the mini-series
Press. Weaver is also known for his role as protagonist Rex in the game
Xenoblade Chronicles 2, released in December 2017. He reprised the role for the character's appearance in
Super Smash Bros. Ultimate, as well as the trailer revealing
Pyra and Mythra as playable characters. In 2019, a fourth series of
Grantchester aired, with Weaver reprising his role as Leonard Finch. In 2020, Weaver starred in a choose-your-own-adventure style sci-fi thriller video game
The Complex as Dr. Rees Wakefield. ==Personal life==