Con un territorio esteso di circa 11.000 ettari, Grottole è situata tra i fiumi Basento e Bradano, nel quale confluiscono due grossi ruscelli denominati Rovivo e Bilioso, e parte del suo territorio rientra nella Riserva regionale San Giuliano. Lungo il versante che si affaccia sulla valle del Bradano, si estende un'area boschiva denominata bosco Le Coste. Il centro abitato si trova ad un'altitudine di 481 m s.l.m ed il suo territorio confina a nord con i comuni di Irsina (31 km) e Gravina di Puglia (BA) (42 km), ad est nord-est con Matera (34 km), a sud-est con Miglionico (13 km), a sud con Salandra (19 km) e Ferrandina (23 km) e ad ovest con Grassano (12 km) e Tricarico (29 km).
Dista 34 km da Matera e 66 km dal capoluogo di regione Potenza.