Benjamin Barker (Johnny Depp) har sittet 15 år i fengsel på den andre siden av kloden. Han rømmer tilbake til London og sverger å ta hevn. Han tar navnet Sweeney Todd, og slår seg til i sin gamle barbersalong over paibakeriet til fru Lovett (Helena Bonham Carter). Hans overordnede mål er å få tatt livet av dommer Turpin (Alan Rickman), som med bistand fra sin ondsinnede håndlanger, «beadle» (rettsbud) Bamford, idømte Barker landsforvisning basert på falske anklager. Da Barker hadde blitt sendt til straffearbeid i koloniene, frarøvet de ham hustruen Lucy og den lille datteren.