Nascut in 21 aprilie 1979 in Port Glasgow, Scotia, McAvoy a urmat cursurile unei scoli catolice, cochetand pentru o scurta perioada cu ideea de a deveni preot. A fost membru al teatrului pentru tineri PACE in timpul studiilor la Royal Scottish of Music and Drama unde a absolvit in anul 2000.
Primul rol l-a obtinut in 1995 in filmul The Near Room urmat de Regeneration in 1997 si mini seria Band of Brothers (Camarazi de Razboi) produsa de Steven Spielberg. In 2003 preia personajul Leto Atreides al II-lea in seria Children of Dune (Copiii Dunei) adaptat dupa romanele lui Frank Helbert. In acelasi an isi face aparitia in cateva episoade din Early Doors si State of Play (Stare de Fapt). Pentru rolul din serialul Shameless din 2004 primeste o nominalizare la British Comedy Award pentru Best TV Newcomer. Mai apare in cateva productii printre care Wimbledon, ShakespeaRe-told, Penelope - o comedie romantica alaturi de Christina Ricci si Cronicile din Narnia: Leul, Vrajitoarea si Dulapul unde il intruchipeaza pe faunul Mr. Tumnus.
In 2006 primeste rolul doctorului Garrigan in The Last King of Scotland (Ultimul Rege al Scotiei), o adaptare dupa romanul cu acelasi nume al lui Giles Foden ce prezinta lumea Ugandei sub dictatura lui Idi Amin. Tot in 2006 McAvoy obtine rolul principal din Starter for 10 bazat pe romanul lui David Nicholls pentru care este recompensat cu premiul Rising Star in cadrul editiei din 2006 a premiilor BAFTA.
Anul 2007 ii aduce doua roluri importante: in filmul Becoming Jane (Jane), o drama romantica inspirata din viata celebrei scriitoare Jane Austen in tinerete, interpretata de Anne Hathaway si in Atonement (Remuscare) a adaptare dupa premiatul roman al lui Ian McEwan in care o are ca partenera pe Keira Knightley. Pentru rolul lui Robbie Turner din Atonement McAvoy este nominalizat la Globurile de Aur.
Filmul Wanted lansat in iunie 2008 ii aduce rolul lui Wesley Gibson, un tanar de 25 de ani caruia ii este oferita oportunitatea de a continua munca tatalui sau, fost lider unei organizatii de asasini. McAvoy joaca impreuna cu Morgan Freeman si Angelina Jolie. The Last Station, o productie bazata pe romanul lui Jay Parini despre ultimul an din viata lui Leo Tolstoi ii da ocazia actorului de a lucra alaturi de sotia sa, Anne-Marie Duff.