Benjamin Barker (Johnny Depp), một thợ cạo có tay nghề, bị án tù oan và bị kết án chung thân ở Úc bởi Thẩm phán Turpin (Alan Rickman), người say mê vợ của Barker, Lucy (Laura Michelle Kelly). Sau 15 năm, với cái tên giả "Sweeney Todd", Barker trở lại London với thủy thủ Anthony Hope (Jamie Campbell Bower).