Elfsborg's Arber Zeneli gave his team a dream start when he put them 1-0 up after just five minutes.
Malmö recovered from the shock start and less than 20 minutes later Jens Stryger headed in the equaliser for 1-1.
But this would be Elfsborg's afternoon - before the first half was over, Momoh Kamara had rolled in 2-1.
Malmö created several chances to equalise, despite having to play with 10 men for much of the second half after Malte Frejd Pålsson was sent off.
But the half-time score stood. Elfsborg is now just two points from the European places in the table.
In the parallel match, table-toppers Halmstad and eighth-placed Gais played 1-1.





