Rasmus Wiedesheim-Paul stod för HBK:s två mål i första halvlek, varav det ena på straff på tilläggstid.
Efter pausen reducerade Varberg genom Adama Fofana redan i inledningsminuterna, men Dusan Djuric dryga för HBK:s räkning strax därefter ut ledningen igen till 3-1.
Tio minuter från slutet fick även Varberg en straff och Nahom Girmai Netabay slog in 3-2, vilket blev slutresultatet.
Chans på toppen
Varbergs BoiS hade inför matchen chans att ta serieledning i Superettan.
Så blev det alltså inte, men laget har fortfarande chans att göra ett historiskt avancemang till Allsvenskan. BoIS ligger just nu trea i tabellen – kvalplatsen till Allsvenskan – en poäng från serieledningen, men med en match mer spelad än konkurrenterna.
Ner till Brage på fjärde plats är det tre poängs marginal.
För HBK:s del innebär segern att de drygar ut marginalen ner till nedflyttningsstrecket. Klubben har ännu inte säkrat kontraktet för nästa års Superettan, men har efter den här segern en marginal på 9 poäng ner till kvalstrecket.
Sista matchen kan avgöra
Fyra matcher återstår att spela för både Varberg och Halmstad.
I toppen kan det bli en nagelbitare om de allsvenska platserna ända in till den sista matchen, då BoIS den 3 november ställs mot nu serieledande Mjällby hemma på Påskbergsvallen.