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 Prince of Denmark on Monday evenings and at all matinees, whilst Ben Whishaw took on the role for evening performances, from Tuesday to Saturday. British politicianMichael Portillo lauded Weaver's interpretation of Hamlet in The New Statesman: "He 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 , The Merchant of Venice, Marie Antoinette, and Unmade Beds ; he also played "The Kid" in Doom, "Schwob" in Colette, and an uncredited Gulf War soldier in Armistice. His television credits include D.C. Billy Slaven in The Inspector Lynley Mysteries and National Antiquities Museum employee Andy Galbraith in Sherlock episode "The Blind Banker". Weaver has been in Five Days as Josh Fairley. He has also been in Five Daughters played Tom Alderton. Weaver also has been in Secret State as Josh Leyton. Weaver also appeared in Southcliffe, where he played Anthony. Weaver was in Life in Squares 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 Anglicancurate Leonard Finch in the TV seriesGrantchester, assisting the Vicar of Grantchester, Sidney Chambers, and later, Will Davenport. Radio credits include , a 2017 biographical radio play by the English writerJames Runcie. 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. He is also known for his role as Rex in the gameXenoblade Chronicles 2 released in December 2017. In 2019 a fourth series of Grantchester aired, with Weaver reprising his role as Leonard Finch. In 2020, he stars in a choose-your-own-adventure sci-fi thriller video gameThe Complex as Dr. Rees Wakefield.