1995-2004: McAvoyův herecký debut přišel ve věku 15 let ve filmu Blízký pokoj (1995). Později přiznal, že při nástupu do filmu se o herectví příliš nezajímal, ale ke studiu herectví se inspiroval poté, co se u něj rozvinuly city k jeho spoluhráčce Alaně Bradyové. V herectví pokračoval ještě jako člen mládežnického divadla PACE. McAvoy v roce 2000 absolvoval Královskou skotskou akademii hudby a dramatu. Během počátku roku 2000 hostoval v televizních pořadech a začal pracovat ve filmu. V roce 2001 McAvoyův výkon v roli homosexuálního podvodníka ve hře Out in the Open zapůsobil na režiséra Joea Wrighta natolik, že Wright začal McAvoyovi nabízet role ve svých filmech. McAvoy je však stále odmítal a ke spolupráci došlo až o šest let později.
Zaujal ve filmu Privates on Parade v Donmar Warehouse a tentokrát upoutal pozornost Sama Mendese. V roce 2001 se herec objevil jako vojín James W. Miller v Band of Brothers, jedenáctihodinové minisérii z druhé světové války od výkonných producentů Stevena Spielberga a Toma Hankse. Pozornost kritiků si získal v roce 2002 ve čtyřdílné televizní dramatické minisérii Bílé zuby, adaptaci stejnojmenného románu Zadie Smithové.
V roce 2003 se McAvoy objevil v minisérii Sci Fi Channel Frank Herbert’s Children of Dune, adaptaci románů Franka Herberta. Jedná se o jeden z nejlépe hodnocených pořadů vysílaných na tomto kanálu. Další práce pro něj přišla, když přijal roli bezcharakterního reportéra ve filmu State of Play z roku 2003. Dobře přijatý šestidílný britský dramatický seriál vypráví o novinovém vyšetřování smrti mladé ženy a byl vysílán na BBC One. List Chicago Tribune označil pořad za „povinnou podívanou“ a doporučil State of Play pro herecké výkony. V roce 2002 McAvoy natočil scény pro film Bollywoodská královna, popisovaný jako West Side Story meets Romeo and Juliet with bindis, film pojednává o hvězdných milencích, kteří se ocitli uprostřed střetu kultur; byl uveden jako zvláštní prezentace na filmovém festivalu Sundance 2003 a v britských kinech měl premiéru 17. října.
V roce 2004 hrál v romantické komedii Wimbledon, kde hlavní role ztvárnili také Kirsten Dunst a Paul Bettany. Jeho dalším projektem bylo namluvení postavy jménem Hal v anglické verzi mýtického fantasy filmu Strings z roku 2004. Dalším filmem z roku 2004 pro něj byl snímek Uvnitř tančím z irské produkce režiséra Damiena O’Donnella, kde si zahrál po boku svého skotského kolegy Stevena Robertsona. V něm byl herec obsazen do jedné ze dvou hlavních postav: mavericka s Duchennovou svalovou dystrofií. Rok 2004 McAvoy zakončil účinkováním v prvních dvou sezónách seriálu Shameless jako Steve McBride, morální hrdina tohoto pořadu stanice Channel 4, který získal cenu BAFTA.
2005-2007: V roce 2005 se zviditelnil v souvislosti s uvedením filmu Letopisy Narnie společnosti Walt Disney Pictures: Lva, čarodějnice a skříně. McAvoy si v dobrodružném fantasy filmu natočeném Andrewem Adamsonem podle dětského románu C. S. Lewise zahrál hlavní roli Tumnuse, fauna, který se spřátelí s Lucy Pevensieovou (hraje ji Georgie Henleyová) a přidá se k Aslanovým (Liam Neeson) silám. Film byl ve Velké Británii uveden do kin 9. prosince. V britských pokladnách film otevřel na prvním místě a během víkendu vydělal ve 498 kinech přibližně 8,7 milionu liber. Celosvětově Narnie vydělala 463 milionů liber, čímž se stala 41. nejvýdělečnějším filmem všech dob na světě. V následujícím roce přijal také hlavní roli Briana Jacksona, šprťáckého univerzitního studenta, který v polovině osmdesátých let získá místo v týmu univerzitního kvízu University Challenge, ve filmu Startér za 10. Režíroval ho David Nicholls, který scénář filmu adaptoval podle své vlastní knihy. Britsko-americká produkce byla uvedena do distribuce ve Velké Británii 10. listopadu. Navzdory pozitivnímu ohlasu film v pokladnách kin propadl a nepodařilo se mu získat zpět výrobní náklady ve výši 5,7 milionu liber.
Forest Whitaker navrhl McAvoye režiséru Kevinu Macdonaldovi do role Nicholase Garrigana v nízkorozpočtovém oscarovém snímku Poslední skotský král z roku 2006. McAvoy ztvárnil skotského lékaře, který se během pobytu v Ugandě stane osobním lékařem diktátora Idi Amina (hrál ho Whitaker). Ačkoli film vychází ze skutečných událostí Aminovy vlády, detaily příběhu a postava, kterou McAvoy hrál, jsou smyšlené a adaptované podle románu Gilese Fodena z roku 1998. McAvoy ohodnotil svou postavu jako „naprosto sobeckého hajzla“. Zdrcený McAvoy omdlel během prvního záběru scény, která pro něj byla nejtěžší při natáčení – Nicholasova mučení. McAvoy byl vyhlášen nejlepším hercem roku na skotských cenách BAFTA, kde film ovládl hlavní kategorie, a získal nominaci na cenu BAFTA pro nejlepšího herce ve vedlejší roli. Film získal tři ocenění, včetně ceny za vynikající britský film roku. To bylo doprovázeno chválou na McAvoyův výkon.
Následně si zahrál irského advokáta Toma Lefroye a milostného partnera Jane Austenové ve filmu Becoming Jane, historickém filmu z roku 2007 inspirovaném autorčiným raným životem. Dalším filmem byla Penelopa, která měla premiéru na Mezinárodním filmovém festivalu v Torontu v roce 2006. Film, v němž si zahrála i Christina Ricci, vyvolal protichůdné recenze. Průlomová role v McAvoyově kariéře přišla v Pokání, adaptaci stejnojmenného románu Iana McEwana, kterou v roce 2007 natočil Joe Wright. Romantický válečný film se zaměřuje na milence Cecilii a Robbieho (Keira Knightley a McAvoy), kterým se rozpadne život poté, co ho její žárlivá mladší sestra Briony (Saoirse Ronan) falešně obviní ze znásilnění. McAvoy po přečtení scénáře řekl, že si pomyslel: „Pokud tu roli nedostanu, knihu číst nebudu, protože by to bylo zničující. Je to úžasná role a já jsem ji opravdu chtěl.“ McAvoy označil film za „neuvěřitelně smutný“, ale považuje ho za povznášející zážitek. Svěřil se také, že doufá, že diváci zůstanou „naprosto zničení a zdrcení“. Projekce filmu Pokání proběhly v roce 2007 na Mezinárodním filmovém festivalu v Torontu, kde se stal jedním z nejoceňovanějších přítomných filmů, a na filmovém festivalu v Benátkách. Pokání bylo velkým kandidátem na ocenění; bylo nominováno na čtrnáct cen BAFTA a sedm Oscarů. McAvoy i Knightleyová byli za své výkony nominováni na 65. ročník Zlatých glóbů, resp. Kromě toho byl film chválen kritikou, podle serveru Metacritic získal 85 bodů. Spisovatel časopisu Hollywood Reporter Ray Bennett uvedl, že dvojice podala „přesvědčivé a charismatické výkony“.
2008-současnost: V další roli si McAvoy zahrál s Angelinou Jolie a Morganem Freemanem v akčním filmu Wanted (2008), kde ztvárnil Wesleyho Gibsona, mladého amerického flákače, který se dozví, že je dědicem odkazu zabijáků. Když se McAvoy o roli ucházel, byl zpočátku odmítnut, protože studio hledalo herce s konvenčním vzhledem a postavou hollywoodského hlavního hrdiny. Později vzpomínal, že byl mezi testovanými považován za „trpaslíka“, ale nakonec roli koncem roku 2006 dostal, protože studio „chtělo někoho podivínského“. Při natáčení akčních scén pro film Wanted utrpěl několik zranění, včetně podvrtnutého kotníku a poraněného kolena. Přesto herec uvedl, že se při natáčení „dobře bavil“. McAvoy nikdy předtím v tomto typu žánru nehrál a Wanted bral jako příležitost k všestrannějšímu uplatnění.
Snímek, který vznikl na motivy stejnojmenné komiksové minisérie Marka Millara, se v červnu 2008 dočkal celosvětové premiéry. Získal příznivé recenze od tisku, kterému se obecně líbilo, že má rychlý spád. V pokladnách kin byl Wanted úspěšný a při produkčním rozpočtu 75 milionů dolarů vydělal 341 milionů dolarů. Následoval snímek Poslední stanice (2009), životopisný film, který popisuje poslední měsíce života slavného spisovatele Lva Nikolajeviče Tolstého a v němž si zahrála i Anne-Marie Duff, tehdejší McAvoyova manželka. Film byl v USA promítán v omezeném počtu kin. Ačkoli většina cen kritiků věnovala pozornost hereckým kolegům Helen Mirrenové a Christopheru Plummerovi, Satellite Awards nominovaly McAvoye na nejlepšího herce ve vedlejší roli. V roce 2009 McAvoy namluvil Angelinina otce Maurice Mouselinga v televizním seriálu Angelina Ballerina: The Next Steps.
V roce 2009 se také objevil na jevišti divadla Apollo ve hře Three Days of Rain. Namluvil titulní mužskou postavu ve filmu Gnomeo &Juliet (2011), animovaném filmu na motivy hry Williama Shakespeara Romeo a Julie. V americkém historickém dramatu Roberta Redforda Spiklenec si McAvoy zahrál roli idealistického válečného hrdiny, který neochotně obhajuje spoluspiklenkyni Mary Surrattovou (Robin Wrightová) obviněnou z atentátu na Abrahama Lincolna. Film měl premiéru na Mezinárodním filmovém festivalu v Torontu v roce 2010. I když tento film sklidil smíšené přijetí, kritika herce za jeho práci chválila. Owen Gleiberman hodnotil film Spiklenec jako „strnulý“ a nudný, ale McAvoye považoval za „zapáleného herce“.
V polovině roku 2010 byl McAvoy obsazen do role telepatického superhrdiny Profesora X, vůdce a zakladatele X-Menů, ve filmu X-Men: První třída. Připojil se k hereckému ansámblu, který tvořili Michael Fassbender, Jennifer Lawrence a Nicholas Hoult. Film vychází z komiksů společnosti Marvel a je prequelem filmové série a zaměřuje se na vztah mezi Profesorem X a Magnetem a vznik jejich skupin. McAvoy v dětství komiksy nečetl, ale byl fanouškem kresleného seriálu X-Men. Film První třída byl uveden do kin ve Velké Británii 1. června a o úvodním víkendu dosáhl nejvyšších tržeb z prodeje vstupenek ve výši přibližně 5 milionů liber. První třída byla příznivě hodnocena a McAvoyův výkon byl široce chválen. V roce 2011 začal natáčet roli Maxe Lewinského v britském thrilleru Welcome to the Punch. V témže roce McAvoy namluvil titulní postavu v animovaném svátečním filmu Arthur Christmas. Hrál také hlavní roli ve filmu Dannyho Boyla Trance.
V roce 2012 byl McAvoy obsazen do role Bruce Robertsona ve filmu Filth, adaptaci stejnojmenného románu Irvinea Welshe. V hereckém ansámblu filmu se objevuje McAvoyova bývalá spolužačka Shauna Macdonald v roli jeho manželky, dále Jamie Bell, Jim Broadbent, Eddie Marsan a Imogen Poots. Za svou roli získal McAvoy v prosinci 2013 cenu za nejlepší mužský herecký výkon na British Independent Film Awards. Bylo také oznámeno, že si společně s Jessicou Chastain zahraje v projektu dvojfilmu The Disappearance of Eleanor Rigby. Hlavní mužskou roli ztvárnil v rozhlasové adaptaci hry Nikdykde, kterou napsal Neil Gaiman. V říjnu 2016 si McAvoy zahrál postavu Richarda v inscenaci povídky Neila Gaimana „How The Marquis Got His Coat Back“ (Jak markýz získal zpět svůj kabát) pro BBC Radio 4. Gaiman hrál roli Lodníka.
McAvoy hrál na začátku roku 2013 v Shakespearově Macbethovi na londýnském West Endu. Macbeth byl prvním představením v proměněném Trafalgaru, které se hrálo od 9. února do 27. dubna. Inscenaci režíroval Jamie Lloyd, který McAvoye režíroval i při jeho posledním působení na jevišti ve hře Tři dny deště v roce 2009. V roce 2015 získal McAvoy cenu pro nejlepšího herce na londýnských divadelních cenách Evening Standard Theater Awards za ztvárnění Jacka Gurneyho ve hře The Ruling Class, obnovené inscenaci hry Petera Barnese v režii Jamieho Lloyda. Hrálo se v Trafalgar Studios od 16. ledna do 11. dubna 2015.
McAvoy si zopakoval roli Profesora X ve filmu X-Men: Dny budoucí minulosti (2014), který celosvětově vydělal 747,9 milionu dolarů, čímž se stal šestým nejvýdělečnějším filmem roku 2014 a druhým nejvýdělečnějším filmem v sérii X-Men a ve filmu X-Men: Apokalypsa z roku 2016. V roce 2016 si zahrál v thrilleru M. Night Shyamalana Rozpolcený v roli Kevina Wendella Crumba, který trpí disociativní poruchou identity a má nebezpečné schopnosti. Jeho výkon kritici chválili, někteří jej označili za nejlepší v jeho kariéře. McAvoy hrál Hazel v miniseriálové verzi Watership Down. V roce 2019 si zopakoval roli Crumba ve filmu Glass a poté se vrátil jako Profesor X ve filmu Dark Phoenix.
McAvoy si zahrál dospělého Billa Denbrougha v hororu It Chapter Two, pokračování filmu It (2017), který měl premiéru 6. září 2019 a v pokladnách kin vydělal 473 milionů dolarů. V roce 2019 si McAvoy rovněž zahrál roli lorda Asriela v televizní adaptaci románu His Dark Materials.
4. března 2020 bylo oznámeno, že společnost Audible bude adaptovat známou komiksovou sérii Neila Gaimana The Sandman do podoby několikadílného audiodramatu, přičemž McAvoy namluvil postavu Snu.