Budišov nad Budišovkou is located about southwest from Opava. It lies in the Nízký Jeseník range. The highest point is the mountain Červená hora at above sea level. The town is situated on the Budišovka Stream. Kružberk Reservoir on the Moravice River lies on the northern border of the municipal territory.
