Město Bojkovice leží ve východní části bývalého okresu Uherské Hradiště v blízkosti státní hranice se Slovenskem v podhůří Bílých Karpat. Rozkládá se v údolí řeky Olšavy u jejího soutoku s řekou Koménkou v nadmořské výšce 301 m n. m.
Prochází jím krajská silnice II/495, která spojuje Uherský Brod se Slavičínem a Bylnicí. Ta se zde kříží s méně frekventovanou silnicí II/496 spojující Luhačovice s mezinárodní komunikaci E/50. Z Bojkovic dále vychází dvě silnice III. třídy - na sever do Rudimova a dále do Slavičína a na jih přes Krhov a Bzovou k silnici E/50.
Přes město vede od roku 1888 železniční trať - Vlárská dráha - z Brna přes Kyjov, Bzenec, Veselí nad Moravou, Kunovice, Uherský Brod a Újezdec u Luhačovic a z Bojkovic dále do Slavičína, Bylnice a Vlárským průsmykem do Trenčianské Teplé.
Okolní terén je kopcovitý a poměrně hustě zalesněný. Nad městem stojí na kamenném ostrohu jeho hlavní dominanta - zámek Nový Světlov.
K městu jsou přidruženy další tři menší obce - Bzová, Krhov a Přečkovice. Společně s nimi mají v současné době Bojkovice 4 627 obyvatel (z toho přímo v Bojkovicích žije 3 859). Katastrální území Bojkovic s připojenými obcemi zaujímá plochu 4 187 ha.