Tommy Flanagan nació en julio de 1965 en Glasgow, Escocia.
Junto a sus cuatro hermanos, dos mayores y dos menores, creció con su madre
Betty, ya que cuando contaba con 6 años de edad, su padre los abandonó. De joven solía meterse en muchos problemas, en el barrio marginal de Glasgow donde vivía, pero su madre lo mantuvo siempre a raya.
Trabajó como pintor, decorador y DJ. Una noche, mientras salía del pub donde trabajaba, intentaron robarle, él se rehusó y resultó con heridas que casi le causan la muerte. Al recuperarse y ver las cicatrices en su rostro, cayó en una profunda depresión, pero sus amigos, entre ellos el actor
Robert Carlyle y su esposa, lo convencieron para que se dedicara a la actuación, como una manera de salir adelante.
Trabajó en el teatro
Rain Dog durante 3 años, cuando el actor
Mel Gibson le dio su oportunidad, al incorporarlo al elenco de "
Braveheart" (1995) y dándole un rol más importante para el que origininalmente había sido contratado, al comprobar sus cualidades actorales.
Luego de "
Braveheart", trabajó en "
El Santo" (1997), protagonizada por
Val Kilmer; en "
Cara a cara (Face/Off)" (1997) y en "
Gladiator" (2000), donde interpretó a
Cicero, el lugarteniente de
Maximus (
Russell Crowe).
Actualmente
Tommy interpreta a
Filip 'Chibs' Telford en la serie acerca de un club de motociclistas marginales "
Sons of Anarchy".
En su vida personal,
Tommy contrajo matrimonio con la actriz
Rachel Flanagan en 1998; la pareja se divorció en 2001.