Arber Zeneli öppnade målskyttet redan i femte minuten. Han blev rättvänd, satte fart och smällde in 1–0 via ett MFF-ben.
Jens Stryger Larsen nickade in kvitteringen i den 22:a minuten efter ett inspel från Noah Åstrand John. Men ledningen höll bara i tolv minuter.
Zeneli spelade fram Momoh Kamara som rullade in 2–1 i den 34:e minuten. Avgörandet kom redan i första halvlek.
Malte Frejd Pålsson drog på sig ett rött kort efter att ha rivit ner Leo Östman vid ett friläge.
– Otroligt tråkigt. Nu får jag bara höja huvudet och göra det bättre för laget, säger Frejd Pålsson.
Malmö blev utbuade efter slutsignalen.
– Det känns som déjà vu. Det har varit andra matcher i år där vi varit det bättre laget men förlorat, säger Sead Haksabanovic.
För Elfsborg var det första segern efter tre raka förluster. Första bortasegern mot Malmö sedan 2014.