The win means Hamas will be able to control large city councils.
The poll was a key test of strength ahead of January parliamentary elections, however official results have yet to be declared.
Speaking on condition of anonymity, the official told AFP Hamas snatched the victory in Nablus, Jenin and Al-Bireh, while Fatah and a coalition of independent candidates won a majority in Ramallah in what was the fourth and final round of municipal elections across the West Bank.
The result in Nablus, one of the West Bank’s biggest cities, is regarded as significant indication of Hamas’ growing strength.
Nablus election commission head Azmi al-Tanjir announced that Hamas won 73 per cent of the vote and 11 of the 13 seats on the city council.
Fatah, the party of Palestinian leader Mahmoud Abbas, won just 13 per cent, taking the other two seats.
Fatah has traditionally controlled the city, but this was the first election there since 1976.
Other officials said that Hamas won about the same number of council seats as Fatah in the town of Jenin, while Fatah retained control of the city of Ramallah, where the main government and parliamentary offices are located.
Official results for the election are expected to be published in a few days.
Palestinians in Nablus celebrated in the streets after hearing the results, chanting “God is great”, while drivers waved the green flag of Hamas and honked their horns.
Hamas’ power has risen since a Palestinian uprising and since Israel completed its Gaza pullout in September.
Israel fears the group could make strong gains in a parliamentary vote on January 25, when it will challenge Fatah in a national election for the first time.
Hamas’ influence among Palestinians has also grown in the wake of what many believe to be corruption within the leading Fatah party, where a rift between its younger and older members appears to be widening.
Hamas is avowedly anti-Israel, and has spearheaded a campaign of suicide bombing since the start of the uprising in 2000.
It could undermine Mr Abbas’ peace efforts with Israel if it gains clout in parliament.
Fatah had outstripped Hamas in a previous round of municipal elections in September, gaining control of 51 out of 104 West Bank town councils.
But Hamas had made a strong showing in the first two rounds of municipal ballots in the West Bank and Gaza.
Abbas has been scrambling to heal a split in Fatah between its older and younger loyalists.
The rift intensified on Thursday after young dissidents announced they were forming a new party that would run in the parliamentary election.