Myocarditis wordt meestal veroorzaakt door een bacteriële of virale infectie. In Europa en de VS zijn infecties met enterovirussen, zoals het Coxsackie B-virus, in meer dan 50% van de gevallen de oorzaak. In sommige gevallen is na griepinfecties of gastro-intestinale griep een hartspierontsteking vastgesteld die wordt veroorzaakt door virussen zoals het adenovirus, het influenzavirus of het bofvirus.
Bacteriële ziekteverwekkers zijn onder meer Corynebacterium diphtheriae (difterie), Mycobacterium tuberculosis (tuberculose) en pneumococcen, maar deze leiden zelden tot myocarditis bij gezonde patiënten met een normaal immuunsysteem.
In zeldzame gevallen kan myocarditis ook worden veroorzaakt door infecties met schimmels, eencellige organismen (zoals toxoplasmose) of parasieten (echinokokkose, trichinose).
Daarnaast zijn er ook hartspierontstekingen die niet worden uitgelokt door infecties, maar bijvoorbeeld door bestralingstherapieën, auto-immuunziekten, geneesmiddelen of drugsmisbruik (bijvoorbeeld cocaïne).
Het is ook mogelijk dat pericarditis (ontsteking van het hartzakje) zich uitbreidt naar de hartspier, wat leidt tot myocarditis.