Graham McTavish interpretó el personaje de Dwalin, el valiente guerrero Enano, en la última entrega de El Hobbit, El Hobbit: La batalla de los cinco ejércitos, en la que volvió a hacer su personaje de El Hobbit: Un viaje inesperado y El Hobbit: La desolación de Smaug. También se le puede ver en la serie de la cadena Starz, Outlander, en la que interpreta el papel de Dougal, un maquiavélico hombre de las Highlands escocesas en el Siglo XVIII.
McTavish acaba de terminar hace poco el rodaje en Boston de la película The Finest Hours, junto a Chris Pine, Eric Bana y Casey Affleck. La historia cuenta el audaz intento de rescate llevado a cabo por la guardia costera cerca de la costa de Cape Cod en 1952, después de que una tormenta de nieve destruyera un par de tanques de combustible.
McTavish inició su carrera en Londres, donde trabajó en proyectos tan diversos como la exitosa serie de culto Enano rojo; King Lear, de Brian Blessed; y la miniserie Empire. Al mismo tiempo, interpretó papeles protagonistas en prestigiosos teatros de Reino Unido, desde el Royal Court y el Teatro Nacional de Londres hasta el Royal Lyceum de Edimburgo.
Una semana después de su llegada a Los Ángeles, McTavish consiguió un papel protagonista en Acorralado, y desde entonces ha trabajado sin parar en papeles de muy distinta índole en televisión y cine que incluyen al infame diplomático ruso Mikhail Novakovich, en la temporada final de 24; a Earl Jansen, en Secretariat, junto a Diane Lane; en Middle Men, con James Caan y Giovanni Ribisi; y en la película de Olivier Megaton Colombiana, junto a Zoe Saldana.
McTavish también se ganó la admiración de muchos seguidores gracias a su interpretación vocal de Dante Aligheri en la película de animación y el videojuego Dante's Inferno, y también ha prestado su voz a Loki para las series de televisión Wolverine and the X-Men, Hulk Vs. Thor y Los Vengadores: ¡los héroes más poderosos del mundo!.