2000s
In 2005, he appeared in Walt Disney Pictures's The Chronicles of Narnia: The Lion, the Witch and the Wardrobe, made by Andrew Adamson and based on C. S. Lewis's children's novel. He appeared as Tumnus, a faun who befriends Lucy Pevensie (played by Georgie Henley) and joins Aslan (Liam Neeson)'s forces. It was given a UK release of 9 December. At the UK box office, the film opened at number one, earning around £8.7 million at 498 cinemas over the weekend. Worldwide, Narnia grossed £463 million. As part of the BBC Drama ShakespeaRe-Told series of four updated plays in November 2005, he took the title role 'Joe Macbeth' - the chef of a Michelin-star restaurant.
In 2006 he accepted the role of Brian Jackson, a nerdy university student who wins a place on a University Challenge quiz team in the mid-1980s, in Starter for 10. He was directed by David Nicholls, who adapted the film's screenplay from his own book. The British-American production was given distribution in the UK on 10 November. In spite of the positive buzz, the film flopped at the box office, unable to recover its production costs of £5.7 million.
Forest Whitaker had suggested McAvoy to director Kevin Macdonald for the role of Nicholas Garrigan in 2006's low-budgeted The Last King of Scotland. McAvoy portrayed a Scottish doctor who becomes the personal physician to dictator Idi Amin (played by Whitaker) while in Uganda. 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. McAvoy assessed his character to be a "completely selfish prick". McAvoy was named Best Actor of the year by Scotland's own BAFTA Awards, where the film swept the major categories, and received a nomination for the BAFTA Award for Best Actor in a Supporting Role. The film received three awards, including the Outstanding British Film of the Year.
Following that, he played Irish attorney Tom Lefroy and love-interest to Jane Austen in Becoming Jane, a 2007 historical film inspired by the author's early life. Next up was Penelope, which premiered at the 2006 Toronto International Film Festival. Also starring Christina Ricci, it generated polarised reviews. The breakthrough role in McAvoy's career came in Atonement, Joe Wright's 2007 adaptation of Ian McEwan's novel of the same title. 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. Upon reading the script, McAvoy said he thought "If I don't get the part I'm not reading the book because it'll be devastating. It's an amazing role and I really wanted it." McAvoy has called the film "incredibly sad" but considers it an uplifting experience. He also shared that he hoped viewers will be left "absolutely devastated and harrowed". Screenings of Atonement were held at the 2007 Toronto International Film Festival, where it was one of the most acclaimed films present, and Venice Film Festival. Atonement was a big awards contender; it was nominated for fourteen BAFTAs and seven Academy Awards. Both McAvoy and Knightley were nominated for their performances at the 65th Golden Globe Awards, respectively. The Hollywood Reporter writer Ray Bennett said the duo gave "compelling and charismatic performances". In December 2022, McAvoy stated that McEwan was not entirely satisfied with his casting as Robbie in Atonement. "He wasn't disparaging. He just gave me… nothing. And I was a bit devastated. Then he said I was a bit small – because my character, Robbie, was meant to be this 6ft tanned Adonis, and I was a 25-year-old pasty Glaswegian who's 5ft-nothing."
His next role saw McAvoy appear 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. He later recalled being considered the "runt of the litter" of those who tested, but ultimately got the role in late 2006 since the studio "wanted someone geeky". While shooting action scenes for Wanted, he suffered several injuries, including a twisted ankle and an injured knee. Nonetheless, the actor said he had a "good time" whilst making the film. McAvoy had not previously done this type of genre, and thought of Wanted as a chance to be more versatile.
Loosely based on the comic book miniseries of the same name by Mark Millar, it saw a June 2008 release worldwide. It received favourable reviews from the press, who generally liked that it was fast-paced. At the box office, Wanted was a success, grossing $341 million against a $75 million production budget. 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. It was shown at a limited number of screens in the US. Although most critics' awards paid attention to co-stars Helen Mirren and Christopher Plummer, the Satellite Awards nominated McAvoy for Best Supporting Actor. In 2009, McAvoy voiced Angelina's father, Maurice Mouseling, in the television series, Angelina Ballerina: The Next Steps. He also appeared onstage in 2009 at Apollo Theatre's Three Days of Rain.