Gustav Lindgren satte två mål i den första halvleken. Det blev 1-0 redan i den fjärde minuten.
Sedan kom Gabriel Busanello och Erik Botheim tillbaka för Malmö. 2-2 i 40:e minuten.
Ett självmål avgjorde matchen. Häcken ledde 3-2.
Malmö FF hade stora defensiva problem. Tränare Miguel Angel Ramirez var tydlig efter matchen.
– Det var för lätt att göra mål på oss idag. Vi måste vara mer aggressiva över hela banan, vi måste vara mer uppmärksamma på spelvändningar, säger han.
Häcken är fortsatt obesegrat i Allsvenskan efter sju omgångar. Lagkapten Mikkel Rygaard hade pratat om att bli mer noggranna i straffområdena innan matchen.
6163 åskådare såg Häckens seger på Hisingen.
Malmö har nu tappat poäng i ytterligare ett topplag och det börjar göra ont i tabellen.