Le canton n° 20 (Saint-Léonard-de-Noblat) comprend les communes suivantes : Aureil, Champnétery, Le Châtenet-en-Dognon, Eybouleuf, La Geneytouse, Moissannes, Royères, Saint-Denis-des-Murs, Saint-Just-le-Martel, Saint-Léonard-de-Noblat, Saint-Martin-Terressus, Saint-Priest-Taurion, Sauviat-sur-Vige.
Le bureau centralisateur de ce canton est le bureau centralisateur de la commune de Saint-Léonard-de-Noblat.