Viljujs kilder ligger sørvest for bosetningen Ekonda i Krasnojarsk kraj, i de nordlige delene av Det sentralsibirske platå. Den renner derfra mot sørøst, gjennom det store Viljuj-reservoaret, hvor også sideelva Tsjona munner ut. Den fortsetter østover gjennom en bred dal, hvor det fra nord kommer inn flere sideelver, hvorav de største er Markha og Tjung. Elva passerer byene Njurba og Viljujsk, før den munner ut i Lena rundt 350 km nedstrøms Lena fra Jakutsk.