Mattias Asper höll Malmö kvar i matchen med två superräddningar före pausen, men guldfavoriten hade en svag dag och föll med O-1 mot Kalmar på Fredriksskans.
Hemmalaget spelade aggressivt, och kompakt med brassarna som tekniska filurer i kontringarna.
En av dem, Fabio Augusto, gjorde segermålet före pausen.
Sedan försökte han slå ner Malmös Joseph Elanga och blev utvisad. Men Malmös spel blev inte bättre med en man mer på planen under en halvtimme.
Det var Kalmar som satte prägel på matchen, från avspark till slutsignal.
Nu blir det en strid in i det sista, säger Malmös tränare Tom Prahl om kampen om SM-guldet.
Göteborg och Halmstad kan vara i kapp efter måndagens allsvenska drabbningar, då tre omgångar återstår.
Kanske det. Men vi har ändå ett bra läge, med två hemmamatcher och på Malmö stadion är vi svårslagna, säger MFF-målvakten Mattias Asper.
Malmös spel var lätt att läsa. Crossbollar, varierades med höjdbollar, in mot Kalmars straffområde, men de fick de långa mittbackarna lätt undan.
Lösningen hade varit att spela i djupled och komma runt på kanterna.
Det gick inte alls. Flera av Malmös tongivande spelare saknade det lilla extra, och mittfältet fick aldrig i gång något välsmort passningsspel.
I stället var det Kalmars dag.
När vi var lika många på planen så spelade vi bra och skapade frilägen. Med Fabio utvisad blev det mer försvarsinriktat, konstaterar Kalmars tränare Nanne Bergstrand.
Strax före pausen kom 1-0. Dedé Anderson jobbade med bollen ner till kortlinjen, slog skickligt ett inlägg längs marken och där kom Fabio Augusto och sköt i steget. Mattias Asper var chanslös där.
Men vi hade folk som borde sett till att Fabio inte fick komma till skott, säger Malmömålvakten.
Kalmar spelade kompakt, aggressivt och vann bollar på mittfältet.
Vi mötte ett lag som genomförde sin taktik till hundra procent. Jag var inte överraskad av Kalmars aggressivitet. Men jag kan inte accepterar vår passivitet, säger Tom Prahl.