Marcado por el divorcio de sus padres, James McAvoy comienza a actuar en pequeñas obras de teatro, representando en varias ocasiones 'Romeo y Julieta'. Hasta que en 1995 el director David Hayman le da su primera oportunidad en el cine con 'The Near Room'. Y después de su graduación, James McAvoy se marchó a vivir a Londres. Entre 1997 y 2001, hizo varias apariciones en series de televisión y telefilmes.
En 2001 consiguió el papel de James Miller, un soldado de una tropa de élite del Ejército de EE.UU. en la serie de televisión 'Hermanos de Sangre'. Dos papeles marcan especialmente esta época en la carrera de McAvoy: el de Dan Foster en 'La sombra del poder' y el de Steve en 'Shameless'. El actor comienza a dejarse ver tanto en comedia ('Wimbledon') o en drama ('El último rey de Escocia'), pero es en el drama de época donde consigue sus mejores registros: como en 'La joven Jane Austen' o 'Expiación'.
El actor dio un giro de 180 grados a su carrera, explorando su vena más salvaje en la cinta de acción 'Se busca (Wanted)'. También ha puesto voz al filme de animación 'Gnomeo y Julieta' y ha dado vida al joven Charles Xavier en 'X-Men: Primera generación'. Robert Redford se ha fijado en él para protagonizar 'The Conspirator'.