Em 1870 é enviado ao Japão o capitão Nathan Algren (Tom Cruise), um conceituado militar norte-americano. A missão de Algren é treinar as tropas do imperador Meiji (Shichinosuke Nakamura), para que elas possam eliminar os últimos samurais que ainda vivem na região. Porém, após ser capturado pelo inimigo, Algren aprende com Katsumoto (Ken Watanabe) o código de honra dos samurais e passa a ficar em dúvida sobre que lado apoiar.