A família Ogino está de mudança para uma nova cidade. O casal, Akio e Yuko, estão muito empolgados com a viagem. Mas o mesmo não acontece com sua filha Chihiro, uma garotinha de 10 anos que está muito chateada por ter que deixar todas as suas lembranças e amigos de infância para trás. Nas mãos, ela carrega um buquê de flores, o último presente que ganhou antes de ir embora.
Chegando a nova cidade, o pai pega um atalho e a família acaba parando na frente de um imenso prédio vermelho no qual um túnel infinito boceja como uma boca gigantesca. Atraídos pela curiosidade, os três seguem caminhando através do túnel. Mesmo com muito medo Chihiro acompanha os pais.
Do outro lado do estranho prédio, os três encontram uma cidade misteriosa e deserta. Depois de andar alguns passos, Akio e Yuko, avistam um suculento banquete e começam a devorá-lo. Chihiro deixa os pais por um instante para conhecer o local, ate que para numa ponte, de repente, aparece Haku, um misterioso jovem que pede para ela sair dali antes de anoitecer. Ela corre para encontrar seus pais, mas quando chega perto deles vê que os dois transformam-se em porcos, e fica apavorada.
Perdida e sozinha, a pequena Chihiro se vê diante de um mundo repleto de espíritos, monstros e deuses. Para sua sorte, Haku vai ajudá-la. Ele ensina a Chihiro o melhor caminho para se chegar até a bruxa Yubaba, a dona da casa de banhos e que pedisse para trabalhar no mesmo. Caminho ela conhece Kamaji e Lin, os dois, assim como Haku, ajudam a se acostumar com esse mundo.
A feiticeira revela que todos os humanos que entram em seus domínios são transformados em animais, antes de serem devorados. Aqueles que não têm o triste destino precisam provar seu valor no trabalho, ou são condenados à morte. Sem alternativa, a menina faz um trato com Yubaba para trabalhar na casa de banhos, renunciando sua humanidade e mudando de nome, que passa a ser Sen.
Enquanto trabalha, Chihiro terá que descobrir uma maneira de encontrar suas lembranças, salvar seus pais e sair da cidade, ou então será escrava da bruxa para sempre...