The only free and comprehensive online etymological dictionary of the Spanish language
alma f. (Noun) "soul"

11th cent. From Western Vulgar Latin *alma. From Latin anima "breath," "soul." From Proto-Italic *anamo- 'id.' From Proto-Indo-European *h2enh1-mo- "breath." From the root *h2enh1- "to breathe."

Typically treated as masculine singular by the article unless an adjective intrudes and the word is treated as feminine.

Romance: Western Vulgar Latin: Asturian alma, Portuguese alma, Galician alma, Catalan ànima, Occitan anma, French âme, Italian alma, Dalmatian jamna; Eastern Vulgar Latin: Aromanian inimã, Romanian inimă; Sardinian: àmina; Extra-Comparanda: Basque arima (alima)

Italic: Oscan anams

Indo-European: Celtic *anamon-: Old Irish anim, Middle Breton eneff, Cornish enef; Hellenic: Ancient Greek ἄνεμος (ánemos) "wind"

An expected development from Latin would be Latin anima > Vulgar Latin *anma > Spanish alma through a normal syncopation of the middle -i-, as advocated by Rini (1999). What Rini ignores is that most Western Romance languages show /l/ (cf. Italian, Galician, Portuguese, Asturian alma "soul," Romansch olme 'id.'). Intriguingly, dissimilation must have occured before syncopation of the middle vowel as Basque arima 'id.' survives as a loanword, which is more likely from *alima than by direct dissimilation from anima (Trask 2008). A very old Western Vulgar Latin *alima may be reconstructed, swiftly reducing to *alma thereafter.