Sam Larsson satte sin frispark uppe vid Tim Rönnings högra kryss via stolpen och in. Målet kom efter 37 minuters spel.
– Det var rätt tid i matchen, säger Larsson. Han har nu gjort tio poäng på nio matcher sedan återkomsten till Allsvenskan.
– Jag börjar väl komma i form. Jag gör mål och assist. Så länge jag kan hålla uppe detta, och vi som lag presterar på det sättet vi gör nu, är det bra, säger han.
Felix Eriksson utökade ledningen sju minuter in i andra halvlek. Han avlossade stora kanonen från över 25 meter och bollen susade in i krysset.
– Så många har varit på mig att jag måste skjuta mer. Och det var någon som sa det i paus också. Så jag hade bestämt mig att skjuta, säger Eriksson.
– Jag kände direkt när jag träffade den. När man träffar den så pass bra så att man knappt känner att man träffar bollen — då vet man att det här kan bli riktigt bra.
Efter 72 minuter fick Halmstad straff. Rocco Ascone satte dit reducering hur säkert som helst. Eriksson var inte imponerad av situationen som ledde fram till straffpunkten.
– Den kändes superbillig ute på planen, säger han.
Omar Faraj hade senare en boll i stolpen. Närmre kom inte gästerna och matchen slutade 2–1. Jonas Bager räddade dessutom på mållinjen i ett kritiskt läge.
Blåvitt är nu Allsvenskans formstarkaste lag med fem segrar på sju senaste matcher. Det är tredje raka segern. Laget har inte förlorat en allsvensk hemmamatch mot Halmstad sedan 2000.
Från Halmstads håll var tonen grå. Tränaren Stuart Baxter erkände att första halvlek inte höll måttet.
– Vi får åka hem, slicka såren och vässa knivarna — för det här är absolut inte slut än, säger han.
Halmstad är kvar som jumbo. Det är nu åtta poäng upp till kvalplats.