His roles include Andrew Detmer in Chronicle (2012), Jason Glanton in The Place Beyond the Pines (2012), Lucien Carr in Kill Your Darlings (2013), Harry Osborn / Green Goblin in The Amazing Spider-Man 2 (2014), Lockhart in A Cure for Wellness (2016), Valerian in Valerian and the City of a Thousand Planets (2017), Chris Lynwood in ZeroZeroZero, and Kenneth Nichols in Oppenheimer (2023).
[6] DeHaan began his professional acting career as an understudy for Haley Joel Osment in the short-lived 2008 Broadway revival of American Buffalo.
[7] In 2010, DeHaan made his feature film debut in John Sayles' Amigo and played Jesse in the third season of HBO's In Treatment.
[12] That same year, he played Harry Osborn / Green Goblin in The Amazing Spider-Man 2[1] and Zach Orfman in Life After Beth.
DeHaan played a fictional version of himself in the music video for Imagine Dragons' song "I Bet My Life".
[7] In 2017, DeHaan starred in Luc Besson's science fiction film Valerian and the City of a Thousand Planets based on the French comics series Valérian and Laureline.
[15][16][17][18] From 2019 to 2020, DeHaan starred as Chris Lynwood in the Amazon Prime series ZeroZeroZero, alongside Andrea Riseborough and Gabriel Byrne.