Viena didžiausių aukštaitijos upių. Išteka Zarasų rajone, teka per Gražutės parką, įteka į Nerį.
Šventoji upė – ją iki Paščio ežero maitina net 1436 km² baseinas. Išplaukusi iš Paščio, upė kilpinėja Utenos raj. žeme pietvakarių link apie 30 km ir pasiekia Anykščių rajono ribą, kai iki žiočių lieka dar 140 km. Ši Šventosios vidurupio atkarpa yra bene vingiuočiausia, nes jos galus jungiančios tiesės ilgis yra tik 17 km. Upė srūva Aukštaičių aukštumos papėde, buvusio ledyno pakraščiu. Žemiau Paščio ežero jos slėnis jau ganėtinai ryškus, turi per potvynius užliejamą salpą ir dvi terasas. Pakrantėse yra Likančių, Ilčiukų, Degėsių, Kaniūkų, Šeimyniškių, Joniškių, Vėželių kaimai ir Užpalių miestelis. Paskutiniuosius kilometrus Utenos žemėje Šventąją iš kairės lydi Vyžuonų miškas. Upės krantus jungia du gelžbetonio tiltai: vienas Užpaliuose, o antrasis – Kunigiškių – Utenos ir Anykščių raj. sandūroje. Utenos raj. ribose upės vaga krinta 15,7 m, taigi vidutinis nuolydis yra 0,052%. Smagiausiai Šventoji teka Ilčiukų-Užpalių ruože (nuolydis siekia 0,066%). Todėl būtent čia buvo pastatyti net trys vandens malūnai: Ilčiukų (sugriautas), Degėsių (statytas 1922 m., vėliau nugriautas užtvankos aukštis 2,8 mm) ir Užpalių (statytas 1836 m., užtvankos aukštis 3,2 m). Upės hidrologinį režimą 1955-1964 m. stebėjo Užpalių vandens matavimo stotis. Jos duomenimis, Šventosios vandens lygis (ties Užpaliais) per metus svyruoja vidutiniškai 3,3 m. Upė vandeningiausia pavasarį, kai debitai vidutiniškai siekia 558 m³/s, o per itin didelius potvynius, pavyzdžiui, 1958 metais, net 98 m³/s. Vasarą debitai sumažėja iki 4,2 m³/s, o labai sausais metais – iki 2,9 m³/s. Žiemos pradžioje upės vagoje kartais susidaro ižo kamščiai, ir vandens lygis staiga pakyla 10-40 cm.