Historien begynder i New England i 1835. Sarah, en smuk ung pige, møder sin far, Alex Stafford, for første gang. Den seksårige Sarah får at vide, at hun er resultatet af Staffords utroskabsaffære med hendes mor, Mae. Mae blev opfordret til at abortere barnet, men hun nægtede at gøre det. Denne beslutning adskilte hende og Alex og efterlod Mae deprimeret. Sarah begynder at tro, at det er hendes egen skyld, men hun håber, at Alex aldrig kommer tilbage.
Sidst på året tager Maes tjenestepige Cleo modvilligt Sarah med på en tur til kysten, så Mae kan få et privat besøg hos Alex. Cleo tager Sarah med sig ind på et populært bordel, hvor Cleo er kendt og har en mandlig ledsager. Efter at være blevet beruset indvilliger hun i at gå i seng med ham, mens Sarah venter på gangen. Efter at denne mand forlader Cleo med knust hjerte igen, fortæller Cleo i halvt beruset tilstand Sarah “Guds sandhed” og tvinger en skræmt Sarah til at lytte til hendes udsagn om, at ingen mænd nogensinde holder af en kvinde, og at det eneste de vil have er sex.
Mae og Sarah flytter derefter til en hytte på havnen, hvor Mae begynder at prostituere sig for at få pengene til at slå til. Hendes ry er kendt i hele byen, og den unge Sarah må lide under bybefolkningens afvisning på grund af det. Gennem denne erfaring lærer Sarah at maskere sine følelser og i stedet erstatte dem med et hårdt ydre.
Et par år senere dør Mae af en frygtelig sygdom og efterlader Sarah som otteårig alene med en fordrukken mand ved navn Rab. Rab er usikker på, hvad han skal gøre med det lille barn, og han søger et hjem til barnet. Han finder en mand, der leder efter en lille pige til sin velhavende herre. Rab tror, at dette er Sarahs heldige chance, og tager Sarah med til det velhavende kvarter. De bliver mødt ved døren af en kvinde, som opfordrer Rab til at tage Sarah med sig og ikke komme tilbage. Rab lader sig ikke afskrække og insisterer på, at Sarah er perfekt til denne rige mand. Kvinden lukker parret ind og sender dem til et soveværelse ovenpå, hvor de får besked på at vente, indtil hendes herre kan se dem.
Duke, husets herre, byder Sarah og Rab velkommen; få minutter senere bliver Rab kvalt foran Sarahs øjne, og hans lig bliver smidt i en nærliggende gyde. Duke, der er pædofil, havde gennemsøgt byen, ikke for at finde en ny datter, men et nyt offer. Duke fortæller Sarah (af ham omdøbt til Angel), at der er mange ting, han ønsker at lære hende. Han giver hende sin første “lektion” samme aften.
Efter ca. 10 år sammen med Duke flygter Angel endelig og går om bord på et skib med kurs mod Californien. Røvet og tvunget til at vælge at prostituere sig selv i stedet for at blive voldtaget af de overvejende mandlige passagerer, går hun fra borde i San Francisco med intet andet end det tøj, hun har på. Angel bliver optaget af “The Duchess”, ejeren af “The Palace”, et bordel i Pair-a-Dice, og bliver en eksklusiv, højt prissat prostitueret. Angel, der er ansat af hertuginden, bliver konstant bevogtet, og hendes magre indtjening bliver holdt skjult for hende. Hendes eneste trøst er Lucky, en medprostitueret, som ofte er beruset. Lucky minder Angel om hendes mor.
Michael Hosea ser Angel første gang på en tur til Pair-A-Dice for at sælge varer. Han er klar til at tage af sted, da Gud fortæller Michael, at “hun er den eneste ene”, den kvinde, som han skal giftes med. Michael opdager snart til sit chok, at Angel er en prostitueret. Michael er stadig fast besluttet på at følge Guds befaling og gifte sig med Angel, og han betaler det høje beløb for hendes tjenester i håb om at overtale hende til at tage af sted med ham. Hun afviser dog stædigt hans tilbud. Michael er modløs og stiller spørgsmålstegn ved Gud, men adlyder alligevel. Han betaler Angels honorar tre nætter i træk og taler og ræsonnerer med hende, indtil hans tid og penge er brugt op. Angel holder sin kolde, sarkastiske facade for at afskrække ham, idet hun ønsker at undslippe den smerte, som hans ord forårsager hende. I mellemtiden kan hun tilsyneladende ikke undslippe tankerne om Michael og hendes stigende håb om et liv uden for paladset.
Efter den sidste nat med Angel bliver Michael frustreret og forlader Pair-A-Dice. Et par dage senere vender han tilbage til Pair-A-Dice, da han ikke længere kan ignorere Guds befaling. Han finder Angel næsten død efter en brutal omgang tæsk, som hun har fået af Magowan, hertugindens bodyguard. Michael er villig til at bruge alle midler for at bevare Angels liv og beder hende om at gifte sig med ham, så han kan tage hende med til sin hytte. Angel er næsten ikke ved bevidsthed, men siger ja og mumler “Hvorfor ikke?”
Michael plejer Angel i sin hytte og gør ham rask igen. Angel forbliver knapt tolerant over for arrangementet, mens det tjener hendes behov. Michael udholder Angels hårdhed og forbliver trofast over for sin nye kone og Guds plan. Michaels svoger Paul, der er enkemand og svoger, vender hjem efter forgæves guldgravning i Sierras. Paul genkender straks Angel som den dyre prostituerede fra paladset. Paul tror, at Angel har bedraget Michael, og han behandler hende dårligt. Paul forsøger at fortælle Michael om Angels erhverv, men gør ham kun vred. Paul tror, at Michael giftede sig med Angel af blindt begær og uden at vide, at hun var prostitueret. Under sit besøg tror Paul, at der er en splittelse mellem ham og Michael på grund af Angel, men han ved ikke, at Michael elsker Angel på trods af hendes fortid, og at det er ham, der forårsager splittelsen mellem dem.
Når hun endelig er helet fra sine sår, forsøger Angel at flygte fra Michael i håb om at vende tilbage til bordellet for at få sine penge tilbage, som hertuginden havde holdt fra hende og insisterede på, at de blev brugt på det tøj og den mad, Angel fik. Da Paul tager af sted for at sælge produkterne fra sin jord tilbage i Pair-A-Dice, ser Angel dette som en måde for hende at flygte på. Mens Michael er ude at arbejde på marken, løber hun efter Pauls vogn. Han indvilliger i at tage hende med sig, hvis hun betaler ham tilbage med sit eneste betalingsmiddel: sig selv. Han væmmes endnu mere ved hendes handlinger, efter at de har sex sammen, og han håber, at det er det sidste af hende, han nogensinde kommer til at se igen.
Da hun vender tilbage til Pair-A-Dice, ser hun, at paladset er brændt ned og har dræbt hendes kæreste kammerat Lucky og en anden prostitueret ved navn Mai Ling. Da hun ikke har andre steder at tage hen, begynder hun at arbejde over en bar – endnu en gang som prostitueret. Selv om hun afskyr at blive betragtet som en luder, har hun ingen andre muligheder for at tjene til livets ophold. En rasende Michael finder hende på et værelse med en kunde og kæmper sig ud af baren, der er fyldt med fulde mænd, der venter på deres tur med Angel.
De vender tilbage til hytten, hvor Michael stoler på Gud for at bearbejde sin vrede over hendes utroskab. Angel begynder at udvikle kærlige følelser for Michael, hvilket hun ikke kan forstå, fordi hun aldrig har tilladt sig selv at elske nogen mænd, for “Guds sandhed” siger, at de vil udnytte hende eller forlade hende, ligesom hendes far. På trods af hendes fortsatte koldhed elsker Michael hende betingelsesløst. Da han viser hende en solopgang, siger han: “Det er det, jeg ønsker at give dig”. Angel mærker, at hun selv bliver blødhjertet dag for dag, men i sin usikkerhed og frygt nægter hun at dele det med Michael. Hun føler en dyb følelse af skam over sin “urenhed”. Hun bliver blødgjort af Michaels kærlighed, men kan ikke se sig selv som værdig til den. Selv om de regelmæssigt har sovet sammen, er Angel meget afskåret fra oplevelsen af sex, men da hun en nat oplever den samme glæde og nydelse som Michael (“And she flew, Michael with her, into the heavens…”), skræmmer det hende.
Hun flygter endnu en gang, denne gang til Sacramento; undervejs bliver hun tilbudt et lift af en gammel mand, der sælger krukker. Da hun når frem til Sacramento, mens hun leder efter arbejde, møder hun igen Joseph Hochschild, som har bygget sin nye butik, og hun bliver hos ham, da hun ved, at han er en god ven af Michael. Hun arbejder for ham i hans butik sammen med hans kone og mor. Da der kommer en ordre ind til Michael, forsøger hun at gå, men Joseph holder hende beskæftiget og får hende til at vente længere. Da hun er færdig med sine opgaver og går ud for at lukke butikken, står Michael i døråbningen og er igen kommet tilbage efter hende. Hun indrømmer, at hun er bange ved tanken om at være forelsket i ham, men han beroliger hende og kører hende hjem.
Når de ankommer tilbage til dalen, møder de familien Altman, som har et ødelagt hjul og er strandet i vejkanten. Michael hjælper med at reparere deres vogn og inviterer dem til at overnatte i deres hytte. Angel afslører over for fru Altman og den ældste datter, Miriam, at hun mødte Michael på et bordel, og hun er overrasket over at opdage, at de kun har medfølelse for hende i stedet for foragt. De kommer tæt på hinanden, og Angel bliver glad for den ældste datter, Miriam, som begynder at holde af Paul, som bor i den anden ende af dalen. Da Angel ser Miriam tale med Michael, går hun ud fra, at de har følelser for hinanden, og hun drager den konklusion, at de ville være et meget bedre par end hun og Michael. Paul vil også gerne se Michael ende sammen med Miriam, men er også begyndt at udvikle følelser for den 16-årige Miriam. Han benægter kun sine følelser, fordi han ønsker at se Michael sammen med Miriam i stedet for Angel.
I mellemtiden afsløres det i et flashback, at Angel i sin tid som Dukes elskerinde blev gravid to gange, og begge gange fik en rasende Duke en læge til at afbryde det, idet han anden gang traf foranstaltninger for at sikre, at hun aldrig kan blive gravid igen. Angel afslører senere dette over for en knust Michael. Hun afslører også, at hun engang havde sex med sin egen far, som kom til hendes bordel, i et forsøg på at hævne sig, fordi han forlod hendes mor. Hun er oversvømmet af skyldfølelse over den hårdhændede måde, hun behandlede ham på. Da hun ved, at det har chokeret hendes mand, og hun føler sig skyldig over ikke at kunne give Michael sine egne børn, som hun ved, at han længes efter, stikker Angel endnu en gang af og efterlader sin vielsesring i håb om, at Michael vil gifte sig med Miriam og få børn med hende. Michael er knust, men siger, at han ikke vil gå efter Angel igen, hvis hun ikke ønsker at være sammen med ham.
Denne gang tager Angel til San Francisco. Da hun ankommer, får hun et job hos en blid mand ved navn Virgil. Han tager hende ind som kok på sin cafe og tager sig af hende. Men efter flere måneders hårdt arbejde brænder cafeen ned, og med den alle Angels opsparing og ejendele. Da hun observerer branden på gaden, hører en berøvet Angel en velkendt stemme – det er Duke, der hilser på hende. Angel er bange for, at han vil skade Virgil, der virker mistænksom over for Duke, og indvilliger i at tage med ham tilbage.
Nu er Angel igen under Dukes magt, og det forventes, at hun skal genoptage sit liv som prostitueret. Dukes seksuelle præference er dog for unge piger, og han beder Angel om at styre sine kommende “ledsagere”, men først efter en uges prostitution. Angel skal præsenteres for en skare af mænd. Hun begynder at kæmpe i sit sind og råber indvendigt til Gud. Hun er parat til at gå på scenen for at underholde mændene. Da hun endelig står foran dem, siger Guds stemme til hende, at hun skal synge, og hun begynder at synge “Rock of Ages” for den ærefrygtindgydende og forvirrede skare. En gråhåret mand synger sammen med hende og går op foran scenen. Hun glemmer teksten til sangen, og han afslutter den.
Efter præsentationen irettesætter Duke Angel. Han bliver dog mødt af den syngende fremmede fra publikum. Han truer med at få Duke hængt, hvis han lægger en eneste finger på Angel. Dermed eskorterer manden Angel ud, og på deres vej ud redder Angel to andre unge piger, som Duke brugte som ofre. Da mændene på bordellet ser de to unge piger sammen med Angel, bliver de rasende og ødelægger stedet. Manden tager dem med hjem til sit hus, hvor hans kone og datter tager sig af dem. Jonathan Axle, manden, der reddede hende, er en velhavende og respekteret bankmand med en solid kristen familie. Angel begynder at gå i kirke sammen med Axle-familien og bliver glad for dem.
I mellemtiden afslører Miriam, at hun er forelsket i Paul, og de to gifter sig, mens Angel er væk. Michael venter stadig på, at Angel vender tilbage, og beder hele tiden for, at hun skal komme tilbage. Da Miriam ser hans sorg, insisterer hun på, at Paul skal gå ud og finde Angel, men Paul, der stadig er fuld af foragt for den kvinde, han tror, at Angel er, nægter.
Angel anerkender til sidst Guds kærlighed til hende og modtager Kristus i sit hjerte. Hun begynder at arbejde med prostituerede ved at hjælpe dem med at forlade deres gamle vaner og lære nye evner, som kan hjælpe dem til at tjene til livets ophold. Susanna Axle, datter af Jonathan Axle, hjælper hende med at drive pensionatet.
Paul giver til sidst efter for Miriam og tager til San Francisco for at lede efter Angel. Han ser hende sammen med en gammel mand – Jonathan Axle – og tror, at han er en kunde, og at hun stadig er prostitueret. Han er rasende over at han er kommet så langt, og begynder at finde på undskyldninger at give Miriam, så han ikke behøver at såre hende ved at fortælle hende, at Angel er prostitueret. Næste dag beslutter han sig imidlertid for at tage op til huset og konfronterer Angel. Først opfører han sig koldt, foragteligt og sarkastisk, men bliver overrasket over hendes ydmyghed og den ægte kærlighed hun nærer for Michael. Han er chokeret over at erfare, at hun forlod Michael i håb om, at han ville gifte sig med Miriam, så han kunne få børn. Da hun opdager, at Paul er gift med Miriam, og at Michael stadig venter på hende efter tre års fravær, falder hele hendes verden sammen, og hun føler sig ikke længere berettiget til at blive i San Francisco.
Hun træffer til sidst den beslutning at overlade Susanna ansvaret for huset og tager tilbage til Michael. Hun overrasker ham på marken, hvor han arbejder, og hun knæler ved hans fødder og græder. Hun er bedrøvet over at se, hvordan det at miste hende har haft en dybtgående effekt på Michael. Hun afslører, at hendes rigtige navn er “Sarah”. Michael, der selv er i tårer, modtager hende med venlig, ren og tilgivende kærlighed og erklærer, at han tror, at afsløringen af hendes navn er et løfte fra Gud om, at de en dag vil være i stand til at få børn (Sara i Bibelen var en ufrugtbar kvinde, der ved Guds nåde til sidst kunne få en søn). Endelig begynder de et nyt liv sammen, det liv de har drømt om.
I epilogen fortælles det, at Michael og Sarah senere fik fire børn.