Elva har utspring fra et lite tjern på Storsteinheia, lengst vest i Bykle kommune i Agder. Den renner derfra mot sørvest ned mot Kvilldal, øverst i Storådalen. Etter Kvilldalsgjuvet kommer Krymleåna inn fra nord. Gjennom den relativt åpne Storådalen renner elva med lite fall over den flate og myrlendte dalbunnen, før den renner ut i det regulerte Nilsebuvatnet, hvor sideelvene Gråfolåna og Storhilleråna også munner ut. Deretter følger Breiavatnet, hvor mesteparten av vannføringen nå blir ledet over til Lysebotn kraftverk. Etter Breiavatnet snur elva mot vest gjennom den svært trange Musdalen ned mot Viglesdalsvatnet, hvor dalføret ligger under skoggrensa. Nedenfor Hiavatnet danner elva flere fosser, som Granefossane, Hiafossen og Sendingfossen. Etter samløpet med Lyngsåna blir dalen bredere og elva roligere, og landskapet domineres av jordbruksområder. Her møter den også de siste sideelvene, først Ullestadåna fra sør, og til slutt den korte men vannrike elva Bjørg fra Øvre Tysdalsvatnet. Elva munner ut innerst i Årdalsfjorden ved bygda Årdal.