Город Болгар находится в России, в юго-западной части Республики Татарстан . Это административный центр Спасского района .
Болгар расположен на левом берегу Волги, в 83 км к югу от Казани (по дороге — 200 км) . У западной окраины города лежит озеро Мочилище .