It is found in Central Asia and the Indian subcontinent, ranging across Afghanistan, Bangladesh, Bhutan, India, Kazakhstan, Myanmar, Nepal, Pakistan, Russia, Tajikistan, Thailand, Turkmenistan, and Uzbekistan. The move up north and into higher altitudes in summer and move into lower elevations to the south in winter. Subspecies ballioni is found in the western and northern part of its range while the nominate population occurs along the western and central Himalayas in India. Subspecies confusa which may well represent clinal variation in the darkness of the upper plumage of the male is found from Sikkim to Assam. Subspecies tschebaiewi which breeds along the edge of the Tibetan plateau winters to its south from Nepal to Assam. Its natural habitat is open woodland and scrub. They may sometimes occur in summer on the lower plains but a record from further south at Londa near Goa has been determined as a misidentified Siberian rubythroat.