U malom američkom gradu živi veterinar Andrew McDewey. Liječi ne samo pse i mačke, već i stoku s okolnih farmi, a također je veterinar u tom području. Doktor McDewey poznat je kao poštena, ali žilava osoba: on bezobzirno eutanazira stare životinje i odbija liječiti domaće životinje.
Prije šest godina umrla je njegova supruga Anne, vesela, crvena poput bakrene tave i cijelo je vrijeme pjevala. Od papiga se zarazila bolešću i umrla. Od tada je liječnikovo srce okamenjeno i zavjetovao se da u njegovoj kući više neće biti životinja.
U njemu živi samo ljubav prema sedmogodišnjoj kćeri Mariji. Izgubivši njegovu majku, ne dozvoljava svojoj mački da izbaci Thomasina iz ruku. Izlijeva dušu, vodi je sa sobom u školu, postavlja je za stol pokraj nje. Thomasina se ne sviđa toliko. Mačka se prvo zvala Thomas, ali onda su shvatili da to nije mačka, pa su je zvali Thomasina. Andrew ne voli Thomasina i jako je ljubomoran na svoju kćer. Thomasina je prljava koliko može, ali veterinar pati.
Jednog dana dječak Jordi McNab liječniku donosi žabu sa slomljenom šapom, ali on je odbije liječiti. Tada Jordy odnese žabu u Crvenu vješticu, po nadimku Mad Lori. Vještica živi u mračnoj šumi i liječi životinje. Prevladavajući strah, Jordi dolazi u pomoć. U kući vještica vidi lijepu djevojku koja glasno pjeva. Jeleni, mačke i psi dolaze k njoj, a ona ih hrani. Djevojka pristaje izliječiti žabu.
Prijatelj dr. McDeweya, svećenik Engus Peddy, jako voli svog bubnjaka i preplavljuje ga slatkišima. Između prijatelja nastaje spor. Liječnik je volio svoju suprugu, koja je umrla, a da bi volio životinje, ove mokraće, mora potrošiti svoje srce na njih, što uskoro neće biti dovoljno. Svećenik se ne slaže: trebate voljeti sva živa bića.
Jednom, dok je bila na Marijinom ramenu, Thomasina bezuspješno skače i udara glavom. Vidjevši da mačka jedva pomiče šape, Marija je dovodi kod oca u bolnicu, gdje joj je zabranjeno pojavljivanje: nakon smrti njegove supruge, liječnik se boji da će Marija biti zaražene životinjama. U to vrijeme stiže svećenik Peddy sa slijepcem, čijim je automobilom vozio pas vodič. Pas treba hitnu operaciju. Liječnik, ne vjerujući u uspjeh, želi eutanazirati životinju. Ali svećenik inzistira na tome da je potrebno čovjeku spasiti oči, navodeći Božje zapovijedi kao dokaz. Unatoč Marijinim vriskovima i prijetnjama da će prestati razgovarati s ocem, McDewey eutanazira Tomasina i obavlja operaciju za psa.
Dok su otac i njegov pomoćnik zauzeti s psom, Marija potajno oduzima Thomasino još uvijek toplo tijelo. Marijini prijatelji organiziraju pogreb za mačku. U žalosti, oni šetaju gradom i zakopavaju Thomasinu u šumi, stavljajući na njen grob ploču s natpisom "Oni su brutalno ubili." Mad Lori ovo vidi.
Operacija je uspješna, a McDewey i Peddy poslani su da udovolje slijepcu, ali prekasno je: umro je. Veterinar baca svećeniku prijekor: spasio je slijepe oči, a Bog ga je uzeo. Svećenik, sa svoje strane, zamjera liječniku što nije pokušao spasiti Thomasina.
Mary odbija razgovor s ocem i hoda u oplakivanoj odjeći. Liječnik joj donosi drugu mačku, ali s Merry započinje muku dok otac ne uzme mačku natrag. Svećenik Peddy pokušava pomiriti oca i kćer, ali djevojčica tvrdi da joj je otac umro.
U gradu ljudi ne odobravaju McDeweyjev čin i počinju se bojati liječenja njegovih životinja s njim, strahujući da će ih on uspavati. Također, po gradu kruže glasine da u šumi žena živi pustinjakinja, koja razgovara s anđelima i demonima, razumije jezik ptica i liječi životinje. Liječnik ima misterioznog konkurenta. Odluči prijaviti policiji da nepismena vještica uzima kruh od maturanata. Paddy odvraća prijatelja od dodira s blaženim.
Thomasina, pod imenom božice Bast, ulazi u hram, malu kuću, u kojoj je svećenica Mad Mad Lory. Sada joj je otac Ra-Sun, a majka Huntor-Moon. Životinje i ptice u hramu ne prihvaćaju novog stanovnika.
Ranjeni jazavac dolazi u Lori. Dok Laurie pere rane i razmišlja kako da pomogne, a Thomasina se moli za njegov oporavak, dolazi McDewey. Thomasina, sada božica, smrtno se boji smrtnika i bježi od kuće.
McDewey nije očekivao da će vještica biti tako nježna i mlada, ali prijetvorno najavljuje tko je. Zadovoljna, Lori ga vodi do badnjaka. Liječnik nudi eutanazirati nesretnu životinju, na što Lori odgovara da ako ga je Bog poslao ovamo, onda vjeruje u liječnika, a životinja mora preživjeti. Čarobnica daje liječniku alate i on radi jazavčevu operaciju, umjesto da koristi anesteziju, koristeći povjerenje životinje Lori. Lori vodi McDeweya do njegove bolnice, gdje stanovnici šume čekaju pomoć.
Umjesto naknade za liječenje, Lori daje meku maramu od vune: kad puše vjetar, liječniku će biti toplo. Preseljeni veterinar obećava da će se vratiti sutra posjetiti badnjaka. Na putu kući McDewey razmišlja o Bogu, o svojoj ljubavi. Kod kuće večera sa svojom kćeri, stavlja je u krevet, razgovara o jazavcu i Lori. Čini mu se da je odnos njegove kćeri prema njemu postao bolji, iako ona još uvijek ne razgovara s njim.
Thomasina se zaklela na osvetu McDeweyju. Kišne noći, kad je izbila oluja, dolazi Thomasina i kandžira o čaši na liječnikovom prozoru. Preplašen strahom, vidi na svakom prozoru, na svim vratima mačaka. Pozivajući svog favorita, Marija u jednoj od svojih pidžama istrčava na ulicu.
McDewey traži pomoć od dr. Stratsija. Djevojčica već mjesec dana ne razgovara s ocem, a nakon što je istrčala u oluju na ulicu, koža joj je postala vlažna. Nakon pregleda djevojčice, Stratsi zaključuje da je ozbiljno bolesna i da je treba zaštititi od šokova. McDewey se požali što je ubio mačku, bilo bi bolje kada bi joj ona umrla.
Kako bi se utješio, McDewey dolazi k Lori. Unatoč činjenici da je Tomašina sada božica Talifa, smrtno se boji svog ubojice. Ali Laurie i McDewey sada zajedno liječe životinje.
Stratsi vjeruje da je Mariji potrebna ljubav, tada će se djevojka oporaviti. McDewey voli i Mary i Laurie, ali za Mary nema dovoljno nježnosti, a Laurie je inferiorna, ona govori s duhom i gnomima. Odlazi k svećeniku po savjet što učiniti s Lori koja služi životinje. Svećenik savjetuje McDeweya da se zbliži s Laurie i razumiju se.
Marijini prijatelji zovu McDeweyja. Cigani su pokazali nastup i brutalno pretukli medvjeda. Dječaci se mole da prijave okrutnost prema životinjama policiji. Jedan od dječaka također poziva Lori u pomoć. Ljubomora obuhvaća Thomasinu.
U ciganskom kampu McDewey upoznaje Laurie. Između liječnika i Cigana dolazi do svađe tijekom koje Laurie pomaže McDeweyju. Rješavajući rane, Lori poljubi veterinara.
Umorna Mary čeka McDeweyja kod kuće - ne želi više živjeti. Nakon što je proveo noć kraj svoje kćeri, ujutro McDewey odlazi Lori u pomoć. On joj zvoni na vrata, kuca, viče da je voli i spreman je oženiti je, ali Laurie se ne otvori. U očaju se liječnik vraća kući svojoj još uvijek živoj kćeri. Na putu vidi tablet na grobu Thomasina. Padnući na koljena, MacDewey moli Boga za oproštaj. Vidjevši to, Thomasina mu oprašta.
Navečer, u oluji, dr. Laurie dolazi kod dr. McDeweya. Uzimajući Mariju u naručje, pjeva joj uspavanku. Zatvorena u Thomasinoj kući, osjeća da je Marija u nevolji. Ona bježi od Loriine kuće i dolazi ispod djevojčinog prozora, unatoč nepovoljnim vremenima. Otac uzima mokru mačku i stavlja Mariju u naručje. Mary oprašta ocu. Lori objašnjava iznenađenom McDeweyju da je mačku izvukla iz kutije i zaplakala. Suze su pale na Thomasina, a ona se probudila, bila je živa. Zahvaljujući anesteziji, paraliza je nestala.
Lori odlazi u kuhinju i grmi u loncima. To je red u kući kada ostanu zauvijek.