Bloom werd geboren in Canterbury, Kent als zoon van Colin Stone en Sonia Bloom
en broer van Samantha Bloom. Jarenlang dacht hij de zoon te zijn van schrijver
en politiek activist Harry Bloom, de echtgenoot van Sonia Bloom, en daarom
draagt hij diens naam. Nadat Harry Bloom stierf, kwam de echte waarheid naar
boven. In 1993 verhuisde hij naar Londen om daar naar het National Youth Theater
te kunnen gaan. Daar bracht hij twee jaar door en won er uiteindelijk een
studiebeurs om te gaan studeren bij de British American Drama Academy. Tijdens
zijn opleiding had hij een paar kleine televisierolletjes, waaronder een in
Midsomer Murders (aflevering Judgement day) , maar zijn grote filmdebuut kwam
met Wilde over Oscar Wilde (gespeeld door Stephen Fry), op twintigjarige
leeftijd. Vlak daarna kwam hij binnen bij de Guildhall School of Music and Drama
in Londen. In 1998 brak hij echter zijn rug na een val van drie verdiepingen
naar beneden, en het werd gevreesd dat hij nooit meer zou lopen. Twaalf dagen
later liep hij echter volledig genezen het ziekenhuis uit. Niet lang daarna, een
paar dagen voordat hij klaar was met zijn opleiding, kreeg hij de rol van
Legolas in de The Lord of the Rings-trilogie (2001-2003) aangeboden nadat hij
eerst auditie had gedaan voor de rol van Faramir. Ze vonden hem echter meer
geschikt als elf en hij werd door die rol binnen mum van tijd een van de
populairste acteurs ter wereld.