The visitors were ahead after just six minutes when Samuel Armenteros battled hard in the six-yard box before tapping in from close range.
Ilias Haddad had the best chance in the opening 45 minutes for the hosts, but his header was just wide, failing to trouble Kostas Lamprou.
Both sides made an attacking start to the second period, but it was the away team that made the most of an early chance, with Sahar slotting a through-ball in for Armenteros to drill in his second of the night.
Lamprou had to remain alert in the Willem II goal late on as the home side pushed to get a goal back, but Van Haaren fired a shot straight at the keeper, while Funso Ojo smashed a free kick well high.
Despite their late rally, Dordrecht conceded again deep in stoppage time as Robert Braber headed in from a corner deep into time added on.
The result ends Willem II's run of three matches without a win, moving them up to eighth in the table, while Dordrecht remain last, having been beaten in eight straight matches. body check tags ::