La città di Bari è servita da numerose stazioni ferroviarie la principale delle quali è la stazione di Bari Centrale situata in piazza Aldo Moro.
Le Ferrovie Appulo Lucane e la Ferrotramviaria hanno proprie e distinte stazioni ferroviarie.
L'AMTAB gestisce i servizi di trasporto pubblico urbano via autobus (in passato erano operativi collegamenti per mezzo di filobus, in diverse zone della città è ancora possibile osservare la rete di fili).
Nell'area urbana i servizi ferroviari sono organizzati su sei linee convergenti nella stazione di Bari Centrale, gestite da quattro diversi operatori, che costituiscono il servizio ferroviario metropolitano di Bari.
4 linee, con capolinea in piazza Aldo Moro nella stazione Bari Nord, (gestita dalla società Ferrotramviaria) collegano il centro della città con il settore nord della periferia barese, l'aeroporto di Bari-Palese e i comuni di Bitonto, Corato, Terlizzi, Ruvo di Puglia, Andria e Barletta.
La rete dell'AMTAB è composta da 34 linee urbane, 2 circolari e 5 navette Park & Ride che collegano le aree parcheggio al centro della città. La tariffa minima, al costo di 1,20 € (giugno 2019), permette di viaggiare per 75 minuti su tutti i bus della rete fatta eccezione delle linee a servizio speciale (ad esempio le linee impegnate durante le manifestazioni presso la Fiera del Levante o gli eventi sportivi allo Stadio di San Nicola richiedono biglietti a tariffa speciale) Il servizio autobusviario non gode di un'ottima reputazione poiché le vetture sono spesso sporche, affollate o usurate e le corse poco puntuali, tuttavia l'AMTAB offre collegamenti più frequenti e capillari del resto dei mezzi pertanto rimangono quelli più utilizzati.
Nella città sono presenti 5 park&ride gestiti da AMTAB, che con 1 € (giugno 2019) di biglietto consentono di parcheggiare e di usufruire del servizio bus navetta, al costo eventuale di 0,30 € (giugno 2019) nel caso di passeggeri diversi dal conducente dell'auto parcheggiata.