Cihiro adalah gadis berusia sepuluh tahun yang pindah ke kota lain bersama orang tuanya. Dia tidak begitu senang dengan rencana kepindahan tersebut dan hanya mempertimbangkan bagaimana rencana tersebut memengaruhi dirinya, mengeluh tentang semuanya termasuk sekolah barunya sampai buket bunga yang telah diberikannya kepada teman-temannya sebagai hadiah.
Ketika sedang mencari rute yang lebih dekat ke rumah baru mereka, Ayah Chihiro mengendara ke jalan kecil yang berakhir ke bangunan misterius. Orang tua Chihiro penasaran dan masuk melewatigerbang yang gelap dari bangunan tersebut. Di sisi lain, mereka menemukan apa yang mereka asumsikan sebagai taman bermain yang sudah ditinggalkan, yang nantinya disingkap bahwa tempat itu sebenarnya perbatasan antara dunia arwah dan dunia manusia.
Ketika berjalan menyusuri bantaran sungai, Mencium bau makanan dan mengikuti aromanya melewati lembah berrumput ke desa kecil yang penuh dengan restoran. Walaupun restoran tersebut sepertinya kosong, mejanya penuh dengan makanan. Orang tua Chihiro memakan makanan tersebut, tetapi Chihiro tidak ikut masuk karena takut pemilik makanan tersebut akan marah dan menangkap mereka. Ketika mereka menawarkan makanan, dia menolak dan lari. Makanan tersebut nantinya akan menjadi akar masalah yang membuat orang tua Chihiro berubah menjadi babi. Chihiro kemudia melihat sebuah jembatan yang menuju sebuah tempat pemandian umum yang besar. Sebelum sampai, seorang anak lelaki bernama Haku, mendekatinya dan memperingati dirinya untuk pergi sebelum matahari terbenam. Saat itu juga, langit mulai gelap dan lampu di pemandian tersebut dinyalakan. Haku memberitahu Chihiro untuk menyeberangi sungai secepat mungkin sementara dia akan mengalihkan perhatian lainnya.
Chihiro berlari kembali ke restoran dimana orang tuanya makan dan menemukan bahwa mereka telah berubah menjadi babi. Dia sangat ketakutan dan mencoba kembali ke mobilnya. Dia dihentikan di tengah jalan karena melihat padang rumput yang telah dilewati sebelumnya telah tenggelam di bawah air.
Chihiro semakin bingung ketika dia menjadi transparan. Haku menemukannya dan memberinya makanan dari dunia arwah, sehingga dia tidak lagi menghilang. Dia membantu Chihiro untuk menyelinap masuk ke pemandian umum, yang dimiliki oleh seorang penyihir bernama Yubaba. Haku memberi tahu Chihiro bahwa satu-satunya cara agar dia hidup selamat di dunia arwah adalah dengan bekerja di pemandian umum untuk menyelamatkan orang tuanya.
Chihiro menuruti nasihat Haku dan menuju ke ruangan pemanas dan meminta Kamaji, seorang pekerja pemanas air untuk sebuah pekerjaan. Dia menolak Chihiro sampai salah seorang pegawainya jatuh di batubara. Chihiro mengambil batu bara tersebut dan menaruhnya di pemanas air. Walaupun batubara tersebut sangat berat, dia bisa menuntaskan pekerjaannya. kamaji sangat puas dan memutuskan untuk membantu Chihiro menemukan sebuah pekerjaan dengan meminta seorang gadis bernama Rin (Lin) untuk membawa Chihiro ke Yubaba.
Chihiro menemukan Yubaba yang berpenampilan regal tapi mengerikan. Chihiro meminta izin untuk berkerja, mengindahkan penolakan berulang oleh Yubaba. yubaba kemudian menerima, dalam syarat Chihiro memberikan namanya ke Yubaba. Penyihir tersebut mengambil kendali nama Chihiro, menaruh tanda tangan dalam kontrak dan hanya menaruh salah satu karakter nama Chihiro di kertas kontrak. Karakter kanji dengan salah satu goresan dihilangkan dibaca "Sen." Sekarang dikenal sebagai Sen, Chihiro ditugaskan menjadi asisten Lin.
Pagi berikutnya, Haku menunjukkan Sen bahwa orang tuanya di dalam kandang bersama babi-babi lainnya. Haku memberi Sen baju lamanya dan kartu dari bingkisan selamat tinggal dan bunga. Sen membaca kartunya dan mengingat namanya, sekali mereka melupakan namanya, sama seperti Haku melupakan namanya sendiri, maka akan dimiliki oleh Yubaba.
Sen mendapat kesulitan dalam menyesuaikan diri pada kehidupan barunya tetapi memenangkan rasa hormat dengan membantu pelanggan yang menyusahkan, sebuah "arwah bau" yang mengerikan dan menyeramkan. Sen membantu membersihkan arwah bau dan mengetahui bahwa dia adalah arwah sungai yang kuat dan kaya raya, yang terpolusi. Sen berhasil dalam tugas dengan bantuan dari roh misterius yang mirip arwah gentayangan yang dipanggil No Face (Kaonashi), yang tertarik dengannya karena kebaikannya di masa lalu.
Pemandian tersebut mengeluarkan monster ke No Face. memungkinkannya untuk memberi lumpur terlihat seperti emas, dia melayani rasa tamak para pegawai pemandian. Dia lalu menjadi liar dan memakan semua yang ada dalam jarak pandangnya, termasuk tiga pegawai pemandian.
Sementara No Face berubah menjadi monster yang tidak pernah kenyang, Haku kembali ke pemandian dengan bentuk naga, dikejar dan diserang oleh sekumpulan besar burung kirigami (kertas) sihir. Terluka parah, dia menemukan jalan ke kanor Yubaba. Sen mengenali naga tersebut sebagai Haku dan pergi melihatnya, tidak sadar kalau dia diikuti oleh salah satu burung kertas.
Ketika mencari Haku, Sen bertemu dnegan bayi Yubaba bernama Boh, yang ingin bermain dengannya. Sen melarikan diri darinya dan melihat pelayan Yubaba, tiga kepala tanpa badan yang dipanggil Kashira, mencoba mendorong Haku hingga jatuh. Burung kertas yang mengikuti Sen berubah menjadi Zeniba, saudari kembar Yubaba, yang mengejar Haku karena dia mencuuri segelnya. Sebuah mantra dipasang dalam segel itu sehingga siapapun yang mencurinya akan mati.
Zeniba mengubah sang bayi menjadi tikus, pelayan harpy Yubaba menjadi burung kecil, dan tiga kepala melayang menjadi mirip Boh, untuk mengolok-olok Yubaba. Haku memotong kertasnya menjadi dua dengan ekornya, yang menyebabkan kehadiran Zeniba menghilang. Dia lalu jatuh ke perapian, membawa serta Sen, tetapi mereka selamat mendarat di ruangan pemanas. Sen memberi makan Haku kue herbal dari Roh Sungai, yang menyebabkan dia memuntahkan segel yang telah dicuri. Dalam segel ada siput hitam, yang dihancurkan Sen karena perintah Kamaji. Dia membantu Haku dengan mengembalikan segel Zeniba dan meminta maaf atas namanya. Kamaji memberi Sen tiket kereta dan memberi tahu bagaimana cara menuju tempat Zeniba.
Sebelum pergi, Sen kembali ke pemandian untuk menemui No Face, yang memanggilnya dalam kemarahannya. Dia memberinya makan dari sisa kue herbal roh sungai, yang menyebabkan dia memuntahkan semua makanan dan tiga pegawai pemandian yang sudah dimakannya. Kerakusannya telah tersembuhkan ketika dia mengikuti Sen keluar. Sen dan No Face, ditemani oleh Boh dan pelayan terbang Yubaba, menaiki kereta untuk pergi ke rumah Zeniba di dasar Rawa.
Di pemandian, Haku sudah memulihkan diri dari cederanya. Ketika Yubaba mengetahui anaknya, Boh, telah hilang, dia murka. Haku meminta perjanjian dengannya untuk mengambil kembali bayinya, dan balasannya, dia meminta Yubaba mengirim Sen dan kedua orang tuanya kembali ke dunia manusia. Yubaba setuju, dengan satu syarat: Chihiro harus mengenali orang tuanya di antara babi-babi yang lain.
Di pondokan Zeniba, Sen mengetahui kalau siput hitam yang dihancurkannya ditaruh di dalam Haku oleh Yubaba, dan memungkinkannya untuk mengontrol Haku. Zeniba memberi tahu Sen kalau mantra tersebut hanya akan hancur oleh cinta.
Haku dalam bentuk naganya, menemukan Sen di tempat pondokan Zeniba. Zeniba memaafkannya karena telah mencuri segel miliknya dan mengundang No Face untuk tinggal bersamanya. Haku membawa Sen kembali ke pemandian, dan ketika berlalu di angkasa, Chihiro ingat pernah bertemu Haku sebelumnya: ketika dia masih kecil, dia tenggelam di sungai dan terselamatkan karena dibawa oleh ombak ke pinggiran. Dia diselamatkan oleh Haku, yang merupakan roh dari sungai Kohaku. Dia lalu memberitahu kalau nama asli Haku adalah Kohaku, sehingga membebaskannya dari sihir yubaba. Dia dan Chihiro lalu saling menyukai satu sama lain.
Di pemandian, Chihiro harus menyelesaikan satu tugas terakhir untuk membebaskan orang tuanya: dia harus memilih mereka dari sekumpulan babi. Dengan keberanian yang meluap dia menerima tantangan tersebut dan menjawab pertanyaan dengan benar, yaitu tidak ada satupun dari babi itu merupakan orang tuanya. Mereka lalu dibolehkan untuk kembali ke dunia manusia karena menjawab dengan benar. Haku meninggalkan Chihiro tetapi berjanji kalau mereka akan bertemu lagi lain waktu.
Ketika sedang mencari rute yang lebih dekat ke rumah baru mereka, Ayah Chihiro mengendara ke jalan kecil yang berakhir ke bangunan misterius. Orang tua Chihiro penasaran dan masuk melewatigerbang yang gelap dari bangunan tersebut. Di sisi lain, mereka menemukan apa yang mereka asumsikan sebagai taman bermain yang sudah ditinggalkan, yang nantinya disingkap bahwa tempat itu sebenarnya perbatasan antara dunia arwah dan dunia manusia.
Ketika berjalan menyusuri bantaran sungai, Mencium bau makanan dan mengikuti aromanya melewati lembah berrumput ke desa kecil yang penuh dengan restoran. Walaupun restoran tersebut sepertinya kosong, mejanya penuh dengan makanan. Orang tua Chihiro memakan makanan tersebut, tetapi Chihiro tidak ikut masuk karena takut pemilik makanan tersebut akan marah dan menangkap mereka. Ketika mereka menawarkan makanan, dia menolak dan lari. Makanan tersebut nantinya akan menjadi akar masalah yang membuat orang tua Chihiro berubah menjadi babi. Chihiro kemudia melihat sebuah jembatan yang menuju sebuah tempat pemandian umum yang besar. Sebelum sampai, seorang anak lelaki bernama Haku, mendekatinya dan memperingati dirinya untuk pergi sebelum matahari terbenam. Saat itu juga, langit mulai gelap dan lampu di pemandian tersebut dinyalakan. Haku memberitahu Chihiro untuk menyeberangi sungai secepat mungkin sementara dia akan mengalihkan perhatian lainnya.
Chihiro berlari kembali ke restoran dimana orang tuanya makan dan menemukan bahwa mereka telah berubah menjadi babi. Dia sangat ketakutan dan mencoba kembali ke mobilnya. Dia dihentikan di tengah jalan karena melihat padang rumput yang telah dilewati sebelumnya telah tenggelam di bawah air.
Chihiro semakin bingung ketika dia menjadi transparan. Haku menemukannya dan memberinya makanan dari dunia arwah, sehingga dia tidak lagi menghilang. Dia membantu Chihiro untuk menyelinap masuk ke pemandian umum, yang dimiliki oleh seorang penyihir bernama Yubaba. Haku memberi tahu Chihiro bahwa satu-satunya cara agar dia hidup selamat di dunia arwah adalah dengan bekerja di pemandian umum untuk menyelamatkan orang tuanya.
Chihiro menuruti nasihat Haku dan menuju ke ruangan pemanas dan meminta Kamaji, seorang pekerja pemanas air untuk sebuah pekerjaan. Dia menolak Chihiro sampai salah seorang pegawainya jatuh di batubara. Chihiro mengambil batu bara tersebut dan menaruhnya di pemanas air. Walaupun batubara tersebut sangat berat, dia bisa menuntaskan pekerjaannya. kamaji sangat puas dan memutuskan untuk membantu Chihiro menemukan sebuah pekerjaan dengan meminta seorang gadis bernama Rin (Lin) untuk membawa Chihiro ke Yubaba.
Chihiro menemukan Yubaba yang berpenampilan regal tapi mengerikan. Chihiro meminta izin untuk berkerja, mengindahkan penolakan berulang oleh Yubaba. yubaba kemudian menerima, dalam syarat Chihiro memberikan namanya ke Yubaba. Penyihir tersebut mengambil kendali nama Chihiro, menaruh tanda tangan dalam kontrak dan hanya menaruh salah satu karakter nama Chihiro di kertas kontrak. Karakter kanji dengan salah satu goresan dihilangkan dibaca "Sen." Sekarang dikenal sebagai Sen, Chihiro ditugaskan menjadi asisten Lin.
Pagi berikutnya, Haku menunjukkan Sen bahwa orang tuanya di dalam kandang bersama babi-babi lainnya. Haku memberi Sen baju lamanya dan kartu dari bingkisan selamat tinggal dan bunga. Sen membaca kartunya dan mengingat namanya, sekali mereka melupakan namanya, sama seperti Haku melupakan namanya sendiri, maka akan dimiliki oleh Yubaba.
Sen mendapat kesulitan dalam menyesuaikan diri pada kehidupan barunya tetapi memenangkan rasa hormat dengan membantu pelanggan yang menyusahkan, sebuah "arwah bau" yang mengerikan dan menyeramkan. Sen membantu membersihkan arwah bau dan mengetahui bahwa dia adalah arwah sungai yang kuat dan kaya raya, yang terpolusi. Sen berhasil dalam tugas dengan bantuan dari roh misterius yang mirip arwah gentayangan yang dipanggil No Face (Kaonashi), yang tertarik dengannya karena kebaikannya di masa lalu.
Pemandian tersebut mengeluarkan monster ke No Face. memungkinkannya untuk memberi lumpur terlihat seperti emas, dia melayani rasa tamak para pegawai pemandian. Dia lalu menjadi liar dan memakan semua yang ada dalam jarak pandangnya, termasuk tiga pegawai pemandian.
Sementara No Face berubah menjadi monster yang tidak pernah kenyang, Haku kembali ke pemandian dengan bentuk naga, dikejar dan diserang oleh sekumpulan besar burung kirigami (kertas) sihir. Terluka parah, dia menemukan jalan ke kanor Yubaba. Sen mengenali naga tersebut sebagai Haku dan pergi melihatnya, tidak sadar kalau dia diikuti oleh salah satu burung kertas.
Ketika mencari Haku, Sen bertemu dnegan bayi Yubaba bernama Boh, yang ingin bermain dengannya. Sen melarikan diri darinya dan melihat pelayan Yubaba, tiga kepala tanpa badan yang dipanggil Kashira, mencoba mendorong Haku hingga jatuh. Burung kertas yang mengikuti Sen berubah menjadi Zeniba, saudari kembar Yubaba, yang mengejar Haku karena dia mencuuri segelnya. Sebuah mantra dipasang dalam segel itu sehingga siapapun yang mencurinya akan mati.
Zeniba mengubah sang bayi menjadi tikus, pelayan harpy Yubaba menjadi burung kecil, dan tiga kepala melayang menjadi mirip Boh, untuk mengolok-olok Yubaba. Haku memotong kertasnya menjadi dua dengan ekornya, yang menyebabkan kehadiran Zeniba menghilang. Dia lalu jatuh ke perapian, membawa serta Sen, tetapi mereka selamat mendarat di ruangan pemanas. Sen memberi makan Haku kue herbal dari Roh Sungai, yang menyebabkan dia memuntahkan segel yang telah dicuri. Dalam segel ada siput hitam, yang dihancurkan Sen karena perintah Kamaji. Dia membantu Haku dengan mengembalikan segel Zeniba dan meminta maaf atas namanya. Kamaji memberi Sen tiket kereta dan memberi tahu bagaimana cara menuju tempat Zeniba.
Sebelum pergi, Sen kembali ke pemandian untuk menemui No Face, yang memanggilnya dalam kemarahannya. Dia memberinya makan dari sisa kue herbal roh sungai, yang menyebabkan dia memuntahkan semua makanan dan tiga pegawai pemandian yang sudah dimakannya. Kerakusannya telah tersembuhkan ketika dia mengikuti Sen keluar. Sen dan No Face, ditemani oleh Boh dan pelayan terbang Yubaba, menaiki kereta untuk pergi ke rumah Zeniba di dasar Rawa.
Di pemandian, Haku sudah memulihkan diri dari cederanya. Ketika Yubaba mengetahui anaknya, Boh, telah hilang, dia murka. Haku meminta perjanjian dengannya untuk mengambil kembali bayinya, dan balasannya, dia meminta Yubaba mengirim Sen dan kedua orang tuanya kembali ke dunia manusia. Yubaba setuju, dengan satu syarat: Chihiro harus mengenali orang tuanya di antara babi-babi yang lain.
Di pondokan Zeniba, Sen mengetahui kalau siput hitam yang dihancurkannya ditaruh di dalam Haku oleh Yubaba, dan memungkinkannya untuk mengontrol Haku. Zeniba memberi tahu Sen kalau mantra tersebut hanya akan hancur oleh cinta.
Haku dalam bentuk naganya, menemukan Sen di tempat pondokan Zeniba. Zeniba memaafkannya karena telah mencuri segel miliknya dan mengundang No Face untuk tinggal bersamanya. Haku membawa Sen kembali ke pemandian, dan ketika berlalu di angkasa, Chihiro ingat pernah bertemu Haku sebelumnya: ketika dia masih kecil, dia tenggelam di sungai dan terselamatkan karena dibawa oleh ombak ke pinggiran. Dia diselamatkan oleh Haku, yang merupakan roh dari sungai Kohaku. Dia lalu memberitahu kalau nama asli Haku adalah Kohaku, sehingga membebaskannya dari sihir yubaba. Dia dan Chihiro lalu saling menyukai satu sama lain.
Di pemandian, Chihiro harus menyelesaikan satu tugas terakhir untuk membebaskan orang tuanya: dia harus memilih mereka dari sekumpulan babi. Dengan keberanian yang meluap dia menerima tantangan tersebut dan menjawab pertanyaan dengan benar, yaitu tidak ada satupun dari babi itu merupakan orang tuanya. Mereka lalu dibolehkan untuk kembali ke dunia manusia karena menjawab dengan benar. Haku meninggalkan Chihiro tetapi berjanji kalau mereka akan bertemu lagi lain waktu.