Arber Zeneli smällde in 1–0 redan i femte minuten. Han blev rättvänd, satte fart och sköt in via ett ben.
Jens Stryger Larsen nickade in kvitteringen i den 22:a minuten. Noah Åstrand John hittade dansken med en passning.
Sedan kom avgörandet. Zeneli spelade fram Momoh Kamara som rullade in 2–1 i den 34:e minuten.
I slutskedet blev Malte Frejd Pålsson utvisad efter att ha rivit ner Leo Östman i ett friläge.
– Otroligt tråkigt. Man är sur. Nu får jag bara höja huvudet och göra det bättre för laget, säger Frejd Pålsson till SVT Sport.
Malmö blev utbuade efter slutsignalen.
– Det känns som déjà vu. Det känns som att det har varit andra matcher i år där vi varit det bättre laget, men vi har förlorat, säger Sead Haksabanovic.
Elfsborg hade förlorat tre raka matcher innan segern. Första bortavinsten mot Malmö sedan 2014.