Tom Hanks as James Donovan