His notable television work includes the thriller State of Play (2003), the science fiction miniseries Frank Herbert's Children of Dune (2003), and the drama series Shameless (2004–2005).
McAvoy gained praise for starring in the independent crime film Filth (2013) and as a superpowered man with 23 dissociative identities in M. Night Shyamalan's Split (2016) and its successor Glass (2019).
He portrayed Lord Asriel in the fantasy series His Dark Materials from 2019 to 2022, and starred as Bill Denbrough in the horror film It Chapter Two (2019).
On stage, McAvoy has starred in several West End productions, such as Three Days of Rain in 2010, Macbeth in 2013, The Ruling Class in 2015, and Cyrano de Bergerac in 2020, for which he received four nominations for the Laurence Olivier Award for Best Actor.
[3] McAvoy's mother suffered from poor health and subsequently sent him to live with his maternal grandparents, Mary and James Johnstone, in the nearby Drumchapel area of Glasgow.
[3] He attended the Catholic St Thomas Aquinas Secondary School in the Jordanhill area of Glasgow and briefly considered joining the priesthood.
[3] In 2001, the actor appeared as Private James W. Miller in Band of Brothers, an eleven-hour World War II miniseries by executive producers Steven Spielberg and Tom Hanks.
[17][18] He gained the attention of critics in 2002's White Teeth, a four-part television drama miniseries adaption based on the novel of the same name by Zadie Smith.
[21] The well-received six-part drama serial tells the story of a newspaper's investigation into the death of a young woman and was broadcast on BBC One.
[28] Another 2004 release for him was Inside I'm Dancing, an Irish production directed by Damien O'Donnell starring alongside fellow Scotsman Steven Robertson.
His public profile was raised in 2005 with the release of Walt Disney Pictures's The Chronicles of Narnia: The Lion, the Witch and the Wardrobe.
[30] McAvoy starred in the fantasy adventure film made by Andrew Adamson and based on C. S. Lewis's children's novel as Tumnus, a faun who befriends Lucy Pevensie (played by Georgie Henley) and joins Aslan (Liam Neeson)'s forces.
[33][34] Forest Whitaker had suggested McAvoy to director Kevin Macdonald for the role of Nicholas Garrigan in 2006's Academy Award-winning low-budgeted The Last King of Scotland.
While the film is based on factual events of Amin's rule, the details of the story and the character McAvoy played are fictional and adapted from Giles Foden's 1998 novel.
A romantic war film, it focuses on lovers Cecilia and Robbie's (Keira Knightley and McAvoy) lives being torn apart after her jealous younger sister Briony (Saoirse Ronan) falsely accuses him of rape.
"[8] His next role saw McAvoy starring with Angelina Jolie and Morgan Freeman in Wanted (2008), an action film where he portrayed Wesley Gibson, a young American slacker who learns he is heir to a legacy of assassins.
When McAvoy screen-tested for the role, he was initially rejected because the studio was seeking an actor with conventional Hollywood leading-man looks and physique.
[56] Next was The Last Station (2009), a biopic that details the final months of celebrated writer Leo Tolstoy and also stars Anne-Marie Duff, McAvoy's wife at the time.
[61] In Robert Redford's historical American drama The Conspirator, McAvoy played the role of an idealistic war hero who reluctantly defends co-conspirator Mary Surratt (Robin Wright) charged in the Abraham Lincoln assassination.
The film's ensemble cast includes McAvoy's former classmate Shauna Macdonald as his wife, as well as Jamie Bell, Jim Broadbent, Eddie Marsan and Imogen Poots.
[72] In October 2016 McAvoy played the character Richard in the BBC Radio 4 production of Neil Gaiman's short story 'How The Marquis Got His Coat Back'.
[76][77] In 2016, he starred in the M. Night Shyamalan thriller Split as Kevin Wendell Crumb, a dissociative identity disorder sufferer with dangerous capabilities.
[81] McAvoy played the adult Bill Denbrough in the horror film It Chapter Two, the sequel to It (2017), which premiered on 6 September 2019[82] and grossed $473 million at the box office.
[83][84] On 4 March 2020, it was announced that Audible would be adapting Neil Gaiman's acclaimed comic book series The Sandman into a multi-part audio drama, with McAvoy voicing the lead character, Dream.
McAvoy starred in the Jamie Lloyd Company production of Cyrano de Bergerac which opened in the West End's Harold Pinter Theatre on 3 February 2022, for which he won a What's On Stage award for Best Performer in a Male-Identifying Role.
[86] While working on Shameless, McAvoy began dating co-star Anne-Marie Duff, who played his character's love interest.
[88] McAvoy and Duff announced their decision to divorce in May 2016,[89] and to minimise disruption to their son's life, they initially shared a home in north London when not working elsewhere.
[90] McAvoy later began a relationship with Lisa Liberati, whom he had met on the set of Split (2016), where she worked as a personal assistant to director M. Night Shyamalan.
[91] After McAvoy won the "Rising Star" award from the BAFTAs, his estranged father spoke to the Sunday Mirror, stating that he would love to get in touch with his son but did not know how to contact him.
[94] Speaking to Sky News in 2011, McAvoy said he believed that British filmmakers belittlingly attempt to dumb down their productions to please American audiences.