Issu de parents médecins écossais, Iain De Caestecker ne se laisse pas influencer et choisit d'embrasser une carrière d’acteur. Il enchaîne assez jeune les genres et ne se ferme aucune porte. Agé de 13 ans, il apparaît pour la première fois, au cinéma, dans Le Petit vampire, et incarne le jeune Franckie, trois ans plus tard, dans le violent 16 Years of Alcohol.
Le passage au petit écran se fait par le soap. Coronation Street est le plus ancien feuilleton encore en diffusion sur le réseau britannique ITV. Parallèlement à ses brèves études au Langside College à Glasgow, il poursuit une carrière à la télévision, notamment dans 4 épisodes de Lip Service, une série aux allures de The L World, annulée au terme de la 2ème saison. L’année suivante, sur la BBC Three, il tient le rôle principal de The Fades, Paul Roberts, un jeune homme hanté par des cauchemars plus vrais que nature.
En 2012, sa performance dans le biopic en trois parties, Young James Herriot, est remarquée et lui permet de décrocher une nomination aux British Academy Scotland Awards. Il revient la même année dans deux longs métrages appréciés par la critique, Up There et Shell. Le jeune acteur aux traits juvéniles rejoint la team de Joss et Jed Whedon, en incarnant l’agent du S.H.I.E.L.D., Leo Fitz, dans l'adaptation télévisée de la franchise de Marvel.
L’année 2013 semble plutôt lui réussir. Iain De Caestecker côtoie James McAvoy et Jamie Bell dans la comédie Ordure !, travaille dans l’édition avec la comédie romantique Not Another Happy Ending, et est pris au piège à l’intérieur de sa voiture dans In Fear.
Être sur la piste des super-héros et combattre HYDRA ne lui suffit pas. A 26 ans, le comédien ‘’touche-à-tout’’ tourne pour Ryan Gosling dans son premier long métrage, Lost River. Il incarne une fois de plus un adolescent, Bones, aux visions étranges… Le film, décrit comme un thriller fantastique, est applaudi à Cannes en 2014.