Sabile asub Abava jõe ääres jõe keskjooksul. Linna lähedale jääb Abava ürgorg. Abava voolab umbkaudu idast läände ja viib oma veed Venta jõkke, mis suubub Ventspilsis Läänemerre.