La gare de Bourg-en-Bresse est située en centre-ville, avenue Pierre Sémard.

La ville est un carrefour ferroviaire, quatre voies traversent ou débutent à Bourg-en-Bresse : la ligne de Mâcon à Ambérieu, la ligne de Bourg-en-Bresse à Bellegarde, la ligne de Mouchard à Bourg-en-Bresse, la ligne de Lyon-Saint-Clair à Bourg-en-Bresse.
Les liaisons en train TER Auvergne-Rhône-Alpes se font en 45 minutes pour aller de Bourg-en-Bresse à Lyon en passant par Ambérieu-en-Bugey et Meximieux. La liaison traversant la Dombes dure 1 h 15.

Bourg-en-Bresse est une gare desservie par des TGV, sur les relations :
Paris-Gare-de-Lyon – Bourg-en-Bresse – Bellegarde – Genève-Cornavin (Lyria) ;
Paris-Gare-de-Lyon – Mâcon-Loché-TGV – Bourg-en-Bresse – Aix-les-Bains-Le Revard – Annecy/Milan-Porta-Garibaldi ;
Paris-Gare-de-Lyon – Mâcon-Loché-TGV – Bourg-en-Bresse – Bellegarde – Annemasse – Thonon-les-Bains – Évian-les-Bains (le vendredi et le week-end).

C'est également une importante gare régionale du réseau TER Auvergne-Rhône-Alpes, située sur la relation Lyon-Perrache – Bourg-en-Bresse – La Cluse – Oyonnax – Saint-Claude, et origine des relations vers : Lyon-Perrache (via Lyon-Part-Dieu), Roanne (via Villars-les-Dombes et Lyon), Mâcon-Ville, Besançon-Viotte (via Lons-le-Saunier), Belfort (via Lons-le-Saunier et Besançon-Viotte), Dijon-Ville (via Saint-Amour et Louhans), Chambéry - Challes-les-Eaux (via Ambérieu-en-Bugey, Culoz, Aix-les-Bains-Le Revard).