Emma Watson as Fiona from Shrek