Councilor Jill Duson won re-election Tuesday after a hotly contested three-way race for her at-large City Council seat.

Activists Bree LaCasse and Joey Brunelle tried to unseat Duson in what became one of the most expensive council contests in recent history and divided the city’s progressives.

Duson finished with 8,597, or 44 percent, of the total votes cast. Brunelle received 5,894 votes, or 30 percent, while LaCasse finished third with 5,182 or 26 percent.

Duson, 63, is finishing her 16th year on the council. Both Brunelle, 32, and LaCasse, 41, were looking to parlay their community activism into a three-year term on the council.

“It was a very tough race. I haven’t had two challengers who worked as hard as the two (other) folks who ran in this race,” Duson said Tuesday night while celebrating her victory with supporters at Bruno’s Restaurant and Tavern.

All three candidates are Democrats and the race led to infighting among those in the party. That infighting exposed internal pushback against a pair of progressive activists who brought a new intensity to city politics over the past few years by building and leveraging email lists to pressure elected officials to support their causes, and by raising large sums of money for candidates who align with their interests.

Duson was targeted by progressives over her support for a bond to renovate only two elementary schools while seeking state funding for two others, but Brunelle and LaCasse appeared to split the votes of residents disappointed in Duson’s stand on the schools.

Duson said the race challenged her to make sure she wasn’t “outworked” by Brunelle and LaCasse during the campaign.

“I think I developed a deeper confidence in my own style of service, which is about collaborating and listening to everybody,” she said. “I’d like to thank Joey and Bree. They ran strong campaigns and they forced me to reconnect with why I serve and why it’s important how I serve.”

The at-large council candidates raised more than $50,000 since July and had roughly $27,000 to spend in the final week before the election.

After raising $3,400 before July 1, Duson received $21,800 in contributions and had about $9,700 left to spend before the election. In her 11-day pre-election finance report, LaCasse reported raising $23,750, including $5,560 from 31 out-of-state donors. She had $13,000 to spend in the last week before Election Day. After raising $5,800 before July 1, Brunelle brought in an additional $7,700 and had about $4,600 remaining before the election.

Duson said she was happy to see strong voter turnout in the city. According to election officials, 16,971 – 30 percent – of Portland’s 56,205 registered voters cast ballots in person, while another 4,000 residents voted by absentee ballot.

In District 4, Councilor Justin Costa easily held off challenger Kimberly Rich, a political newcomer who embraces outside activist groups like Progressive Portland. Costa, an accountant, has nine years of experience as an elected official on the school board and council. Costa finished the race with 2,700 votes, or 68 percent, while Rich received 1,277 votes, or 32 percent.

The district includes the Back Cove area and parts of Deering Center and North Deering.

District 5 featured a three-way race to fill the seat left vacant by Councilor David Brenerman, who decided not to seek re-election. Kimberly Cook beat candidates Marpheen Chann-Berry and Craig Dorais to represent the district, which includes Riverton, Deering and North Deering. Cook had 2,462, or 63 percent of the votes, while Chann-Berry had 872 votes (22 percent) and Dorais had 566 votes (15 percent).

Cook, a 45-year-old attorney and government relations consultant, has lived in the district for about 15 years and has experience serving on the city’s Zoning Board of Appeals and Land Bank Commission.

Gillian Graham can be contacted at 791-6315 or at:

[email protected]

Twitter: grahamgillian