Malmö ledde med 2-1 efter första halvlek. Gabriel Busanello och Erik Botheim hade kvitterat Gustav Lindgrens tidiga mål.
Men Häcken kom tillbaka. Lindgren hade gjort två mål i första halvlek, inklusive 1-0 efter bara fyra minuter. Ett självmål gav Häcken 2-1.
Senare kom 3-2-målet.
Malmö-tränaren Miguel Angel Ramirez var besviken efter matchen.
– Det var för lätt att göra mål på oss idag. Vi måste försvara bättre, vi måste vara mer aggressiva över hela banan, säger han enligt klubbens hemsida.
Häcken är fortsatt obesegrade i årets allsvenska. Två vinster och fem kryssmatcher på sju omgångar.
6163 åskådare såg matchen på Hisingen. För Malmö blev det den andra förlusten på sju matcher.