Elva har utspring fra et lite vatn sør for Moldbakkefjellet (1 538 moh.). Den renner først mot vest før den snur mot sør og faller bratt ned mot Helgedalen. Elva, som her kalles Helgedøla, mottar her flere tilløp fra Fresvikbreen og snur mot øst, senere sørøst. Ved munningen av Helgedalen danner elva Helgedalsfossen, som faller ned mot hoveddalføret Storedalen. Her mottar den elva fra Huldabotnen på østsida av Fresvikbreen, og danner selve Storelvi. I sideelva fra Huldabotnen ligger den imponerende Huldafossen. Etter samløpet renner elva mot øst gjennom den trange og skogkledte Storadalen. Ved Engi møter den sideelva Tundøla fra fjellene sør for dalen, og tre kilometer lengre nede kommer Skardselvi inn fra sørøst. De nederste delene av dalen er noe åpnere, med jordbruk og bebyggelse på begge sider. En kilometer før fjorden snur elva mot nord, og munner ut i Fresvikbukti i Sognefjorden ved bygda Fresvik.