This shrew is endemic to South Africa, where it is restricted to a coastal strip in Cape Province. It occurs at altitudes of up to about , with a subspecies, Myosorex longicaudatus boosmai, occurring in the Langeberg Mountains at higher altitudes than other populations. Suitable habitat includes primary forests and their edges, fynbos and swampy grassland. This shrew needs moist conditions and does not occur in secondary forest.