Badulla is located in the southeast of Kandy, almost encircled by the Badulu Oya River, about 680 m (2,230 ft) above sea level and is surrounded by tea plantations. The city is overshadowed by the Namunukula range of mountains (highest peak 2,016 m (6,614 ft) above sea level). It was a base of a pre-colonial Sinhalese local prince (regional king) who ruled the area under the main King in Kandy before it became part of the British Empire. Later, it became one of the provincial administrative hubs of the British rulers. The city was the end point of upcountry railway line built by the British in order to take mainly tea plantation products to Colombo.
Badulla is about 230 km (140 mi) away from Colombo towards the eastern slopes of the central hills of Sri Lanka. There are multiple routes to Badulla from Colombo, Kandy and Galle. From Colombo, one can travel via Ratnapura, Balangoda, Haputale, Bandarawela and Hali Ela along A4 and A16 to Badulla, which may take 5–6 hours. From Kandy there are two routes: either via “Victoria-Randenigala Raja Mawatha” or via Nuwara Eliya (route A5). From Galle, the best route is via Matara, Hambantota, Wellawaya, Ella, Demodara and Hali Ela (route A2). All routes are scenic and one can see splendid views of the geography, which changes while travelling. Badulla and its surroundings are highly recommended for eco-tourists as Horton Plains National Park and the Knuckles mountains are a few hours away.