The rose robin occurs in eastern and southeastern Australia, from Rockhampton east of the Great Dividing Range through eastern New South Wales and Victoria into southeastern South Australia. It does not occur in Tasmania. It is found in wet sclerophyll forest and rainforest, where it inhabits gullies and valleys, dispersing to drier forest in cooler months. The rose robin is vulnerable to development and clearing of forested areas, which has led to it disappearing in these areas. Populations have been recorded in conservation areas, namely the Dandenong Creek, Scotchmans Creek and Gardiners Creek Corridors, in Melbourne's eastern suburbs.