Met cantus firmus (Latijn voor "vaste zang") duidt men in de middeleeuwen, de renaissance en barok de muzikale partij aan die de melodie of een melodisch motief van lange noten voorstelt, meestal gezongen door de tenor. Deze werd toen nog ténor genoemd met de klemtoon op de eerste lettergreep, van tenere, Latijn voor houden, vasthouden. De tenor zong de vaste melodie, die weinig werd gevarieerd, en deze werd door de andere stemmen omspeeld. In partituren wordt de cantus firmus soms aangegeven met de afkorting c.f.
Het begrip cantus firmus is ontstaan vanuit de vox principalis in het organum en maakte vooral opgang in de zogeheten Ars Nova, een muziekstroming die vanaf ongeveer 1300 in Frankrijk in zwang raakte. Als cantus firmus dient in de zogeheten parodiemissen vaak een bekende melodie, al dan niet aan het gregoriaans ontleend. In het stemmenweefsel van de polyfone muziek vormt de cantus firmus een rode draad. In de vocale barokmuziek voor de protestantse eredienst houdt de cantus firmus vaak een koraalmelodie aan. Zo klinkt in het openingskoor van de Matthäus Passion van Johann Sebastian Bach boven de meerstemmigheid als cantus firmus het koraal "Lamm Gottes".