Halmstadslaget tog ledningen i början av andra halvlek och MFF fick kämpa innan Enock Kofi Adu kvitterade i 75:e minuten.
Det stod alltjämt 1-1 efter full tid och det krävdes ett mål i förlängning, på straff, för att säkra avancemang. Markus Rosenberg stod för segermålet.
Malmös Anton Tinnerholm bröt efter en smäll på vaden, men nästa Champions League-match ska inte vara i fara.