Situata sul Mar Adriatico, è al centro della provincia di Bari, a metà strada tra la provincia di Foggia e quella di Brindisi. Il territorio comunale è prevalentemente pianeggiante e si addensa in gran parte sulla costa lungo oltre 30 km, tra i comuni di Giovinazzo (nord) e Mola di Bari (sud). Solo nella porzione centrale si estende verso l'entroterra per alcuni chilometri, fino ai centri di Bitritto e Bitonto, tanto che in certi quartieri interni (San Paolo, Carbonara) si incontrano i primi pendii della Murgia barese.
Per quanto detto, la conformazione della città facilmente può essere immaginata come un uccello con le ali spiegate, la cui testa è la penisola sulla quale è nato il primo nucleo urbano, "Bari vecchia".