After graduating from the London Academy of Music and Dramatic Art in 2009, he began his acting career on television and had his first film role as Philip Swift in Pirates of the Caribbean: On Stranger Tides (2011).
[6] Claflin made his acting debut in 2010, when he appeared in two television miniseries—in The Pillars of the Earth as Richard and in Any Human Heart as young Logan Mountstuart.
In March 2011, he was cast as Thomas in Seventh Son, a film adaptation of The Spook's Apprentice,[7] but was dropped for unknown reasons and was replaced by Ben Barnes.
[16] In February 2013, it was announced that Claflin was cast as Alex in the film adaptation of Cecelia Ahern's novel Where Rainbows End, distributed as Love, Rosie in some territories.
[18] He received critical acclaim for his role as Oxford University student Alistair Ryle in the British dramatic thriller The Riot Club with Charlotte O'Sullivan of the London Evening Standard saying "Claflin captures his character's vitriol very well" and Laura Dibdin of Digital Spy saying "Claflin brings intrigue and vulnerability to offset the sense of entitlement thus making Alistair the film's most fascinating character".
In 2014, Claflin also starred alongside Lily Collins and Suki Waterhouse in the romantic comedy drama film Love, Rosie, which was released to mixed reviews from critics but became a success among audiences.
In 2016, Claflin reprised his role as William, Snow White's childhood friend, in several scenes of the sequel The Huntsman: Winter's War.
[19] Claflin gained further critical acclaim for his role of Captain Stanhope in the war drama Journey's End (2017) and Adrift (2018).
In 2018, Claflin joined the fifth season of the BBC television drama Peaky Blinders, as the British fascist politician Oswald Mosley.