Första halvlek var mållös. BP hade bästa chansen när Sion Oppong träffade stolpen.
I den 59:e minuten slog Oppong till. Han drev in från vänster och avlossade ett distansskott som studsade in via ett Halmstads BK-ben. Det var 18-åringens första allsvenska mål.
Tio minuter senare nickade Kaare Barslund in 2-0 på ett inlägg från Mads Hansen. Hansen satte själv 3-0 i minut 82 efter att Halmstads BK slarvat bort bollen på egen planhalva.
Rocco Ascone reducerade till 1-3 med tre minuter kvar. Bollen styrdes via stolpen och in.
Tim Rönning i Halmstads BK:s mål kunde inte göra något åt målen.
Tränaren Johan Lindholm var dyster efter matchen.
– Man är extremt besviken, säger han till TV4 Play. Vi blir hårt straffade och är ihåliga i vårat försvarsspel. Man behöver se sig själv i spegeln. Sedan vänder man det här.
Halmstads BK har nu gjort bara tre mål på sex matcher och har ännu inte vunnit. Laget har två poäng och sitter kvar på jumboplatsen.