Two Portland city councilors representing the peninsula were poised to win re-election to the City Council, while an at-large race was too close to call with half of the city’s 12 precincts reporting.

A charter amendment to increase campaign finance reporting for municipal candidates also appeared headed for an easy victory.

District 1 City Councilor Belinda Ray and District 2 City Councilor Spencer Thibodeau each earned 68 percent of the votes in their districts representing the East and West ends, respectively, but absentee ballots had not yet been counted as of 2:30 a.m. Wednesday.

Challenger Joey Brunelle was clinging to an early lead against incumbent Nicholas Mavodones with nearly 56 percent of the vote, 5,322 to 4,224, with six of 12 precincts reporting. Some of the larger districts that could favor the eight-term incumbent had yet to report.

Mavodones, a 58-year-old operations manager at Casco Bay Lines who is completing his seventh term as councilor, faced a spirited challenge for his at-large seat from Brunelle, a 33-year-old digital marketer who placed second in a three-way race last year.

Mavodones is one of the more fiscally conservative and business friendly councilors, while Brunelle ran a progressive campaign that included a call for a carbon tax on large industrial and commercial businesses, including cruise ships, and more aggressive policies to protect middle- and low-income families from being priced out of the city.

Mavodones had a significant fundraising advantage over Brunelle, who did not accept money from real estate developers, out of state donors or political action action committees. Mavodones raised over $35,000, allowing him to send direct mail and hire a Pittsburgh firm to phone bank the weekend before the election. Brunelle had just over $5,500 – less than half of what he raised last year.

In District 2, which covers the western portion of the peninsula, one term incumbent Spencer Thibodeau, a 30-year-old real estate attorney, faced a challenge from Jonathan Torsch, a 30-year-old utility system data engineer and an executive board member of the Southern Maine Democratic Socialists of America.

Both Brunelle and Torsch were endorsed by the DSA.

In District 1, one-term incumbent Ray, a 48-year-old freelance writer and accounts and administration manager for a local building company, faced a challenge from Coffey, a 39-year-old, self-employed landscaper who has been homeless for most of his adult life, including the last eight years in Portland, and has mounted two prior unsuccessful campaigns for City Council.

Voters were also deciding whether to amend the city charter to require municipal candidates to file an additional campaign finance report 42 days before the election, a rule that already exists for state candidates.