Le canton n° 21 (Les Martres-de-Veyre) comprend les communes suivantes : Authezat, Chanonat, Corent, Le Crest, Les Martres-de-Veyre, Orcet, La Roche-Blanche, Saint-Amant-Tallende, La Sauvetat, Tallende, Veyre-Monton.
Le bureau centralisateur de ce canton est le bureau centralisateur de la commune des Martres-de-Veyre.