Vänersborg fick en bra start på matchen. Mikko Lukkarila slog till framspelad av Robin Lundqvist, redan i 14:e minuten.
Hammarby kvitterade till 1-1 i 34:e minuten, genom Adam Gilljam på pass av Kasper Milerud.
Laget tog också ledningen i slutet av första halvleken, genom Kasper Milerud på pass av Adam Gilljam.
Vänersborg kvitterade till 2-2 på tilläggstid i första halvleken, genom Kalle Lempinen framspelad av Adam Herou Löf.
Det matchavgörande målet kom på tilläggstid, när Robin Lundqvist slog till och gjorde 3-2 för Vänersborg.
Vänersborg har två segrar, en oavgjord och två förluster och 18–18 i målskillnad på de senaste fem matcherna, medan Hammarby har en vinst, en oavgjord och tre förluster och 12–17 i målskillnad.
Det här betyder att Vänersborg nu ligger på sjunde plats i tabellen, och Hammarby är på tolfte plats.
Tisdag 26 december möter Vänersborg Gripen Trollhättan borta 17.00 och Hammarby möter Sirius hemma 14.00.