Den ca. 35 km lange Værebro Å udspringer i Smørmose i Herlev Kommune. Herfra løber den nordvestpå under navnet Tibberup Å til Søndersø og videre til Jonstrup, hvor den skifter navn til Jonstrup Å. Lige efter Flyvestation Værløse får åen navnet Værebro Å. Her rammer den Egedal Kommune, hvis grænse den følger nordpå til Knardrup, hvor åen drejer vestpå ind i kommunen. Åen fortsætter mod sydvest forbi Veksø Mose til Lunden, hvorefter den følger grænsen mellem Egedal og Roskilde Kommuner. Den forlader Egedal Kommune ved Jyllinge Nordmark, hvor den fortsætter mod nordvest til udløbet i Roskilde Fjord.
Åen har et samlet opland på 15.200 ha. Den blev stærkt reguleret i 1950’erne og har lav vandføring, da der foregår en stor indvinding af drikkevand i oplandet. Fiskebestanden omfatter bl.a. gedde, skalle, rudskalle, aborre og ørred.
I 2017 blev 615 ha af Værebro Ådal mellem Veksø og Gundsømagle fredet. Fredningen strækker sig på tværs af Egedal og Roskilde Kommuner og skal bl.a. beskytte ådalens enge og rigkær samt sikre offentligheden adgang til området.