John Barrowman passe les huit premières années de sa vie en Écosse, à Glasgow. Sa mère est chanteuse et travaille dans un magasin de disques. Son père travaille pour la société Caterpillar et en 1976, il est muté dans l'Illinois aux États-Unis. La famille s'installe alors à Joliet où John fréquente le lycée local. Grâce aux encouragements d'un professeur d'anglais, John participe aux concours inter-lycée d'éloquence. Au lycée, il joue aussi dans plusieurs pièces et comédies musicales. En 1985, après avoir terminé ses études secondaires, il déménage à San Diego, en Californie pour étudier les arts du spectacle à l'USIU (United States International University). Dans le cadre d'un programme d'échange, il retourne au Royaume-Uni, en 1989. Il commence à Londres sa carrière de comédien. Il apparaît dans plusieurs comédies musicales jouées au West end. En 1998, il est nommé pour un Olivier Award du meilleur acteur dans la comédie musicale The fix.
De 1993 à 1995, sur BBC One, il est un des présentateurs Live & Kicking, une émission de variétés pour les enfants diffusée le samedi. De 1994 à 1996, il anime sur la même chaîne le jeu pour enfants The movie game. De 1997 à 1999, il est l'un des présentateurs du show pour enfants 5's Company sur Channel Five.
Parallèlement, John Barrowman apparaît aux Etats-Unis dans des soaps opéras comme Central Park West en 1995. On le retrouve ensuite en 2000 dans Titans, la série de NBC avec
Yasmine Bleeth interrompue au bout de 13 épisodes.
Au cinéma, il s'illustre en 2004 dans De-Lovely dans un duo avec
Kevin Kline mais aussi dans Les producteurs en 2005.
A partir de 2005, il incarne, dans plusieurs épisodes, l'un des personnages de la série Docteur Who, le Capitaine Jack Harkness. En 2006, la série de science-fiction donne naissance au spin-off Torchwood centré autour de Jack Harkness toujours incarné par John Barrowman.
Après avoir plusieurs participations télévisuelles en 2006 et 2007 (il joue notamment les jurés dans deux télé-crochet), il présente en 2008 le jeu The Kids Are All Right en prime time sur BBC One, puis Animals at Work sur CBBC Channel. En avril et mai 2009, puis en juillet et août 2010, il présente Tonight's the Night sur BBC One.
En 2007, il sort un album solo chez Sony Music : Another Side. Après le succès de cet album, sort Music Music Music en 2008.
Continuant de jouer au théâtre, John Barrowman reprend le rôle du prince charmant dans Cendrillon en 2005, celui de Aladdin en 2007, celui de Robin des bois en 2008 et celui de Zaza dans
La Cage aux Folles en 2009.
En 2010, il joue dans six épisodes de la sixième saison de Desperate Housewives dans un rôle à contre-emploi.
En janvier 2008, John Barrowman, âgé de 41 ans, sort son autobiographie Anything Goes écrite avec sa soeur Carole E. Barrowman. Elle est suivie de la publication en 2009 de I Am What I Am. Il est impliqué dans la défense des droits des gays et dans la lutte contre l'homophobie. En 2006, il a signé avec son compagnon Scott Gill rencontré en 1993 l'équivalent d'un PACS.