[Editor's note: This story has been updated to include the results of the Ward 1 race.]

SALEM — Domingo Dominguez topped the City Councilor-at-large ticket Tuesday night, not-so-surprisingly replicating surprising results seen in the preliminary election. 

The surprises were reserved for the ward races, however — where elections newcomer Lisa Peterson topped Ward 3 City Council incumbent Steve Lovely, knocking him off after just one return-term on the City Council following multiple terms decades ago.

More than 40 percent of voters turned out for the city-wide elections Tuesday night, awarding a dominating victory to incumbent three-term Mayor Kim Driscoll and a strong vote favoring the Sanctuary for Peace ordinance.

Perhaps most interesting in the voting is the outcome of the City Councilor-at-large race, which became the third hottest ticket on the ballot outside of the mayor's and sanctuary votes. There, Dominguez was repeating the preliminary results, when he took first in the race after several unsuccessful bids to get on the City Council.

Milo and Sergeant were the only two of three anti-sanctuary City Councilors making the cut, with long-time councilor and dean Tom Furey rounding out the incumbents on top. Jerry Ryan finished sixth.

Ward 4 City Councilor David Eppley, meanwhile, was not far behind Furey, placing fifth. Campaign running-mate Jeff Cohen, chairman of the No Place For Hate committee and co-architect of the sanctuary ordinance, finished last. The two campaigned together, given their shared work in helping launch and promote the sanctuary ordinance earlier in the year. 

Liz Bradt, owner of All Creatures Veterinary Hospital in Salem, came in seventh.

Strong races in Wards 2, 5 and 6 saw Christine Madore, Josh Turiel and Beth Gerard come out on top. Tim Flynn won in Ward 4, with a write-in candidate — most of the votes likely going to sticker candidate Ana Campos, taking third with 240 votes.

Madore replaces Heather Famico, a two-term city councilor who decided earlier in the year that she would not seek re-election. 

Madore, 35, also performed well in the preliminary election in September, when she close to doubled the votes of all three opponents she faced, including Usovicz, Justin Whittier and Brendan Murphy.

In Ward 5, incumbent Josh Turiel topped 65-year-old retiree and challenger Polly Wilbert. This will mark the 51-year-old Turiel's fourth term in office, challenged by Wilbert — a widely recognized name in the area for her involvement in the South Salem Neighborhood Association.

In Ward 6, incumbent Beth Gerard beat out challenger Nadine Nastasi-Hanscom to represent North Salem. 

The 42-year-old Gerard's win puts her on the City Council for a third term. This was Gerard's first win to not follow a preliminary election, after doing so — and taking second — in both 2013 and 2015.

And in Ward 1, longtime councilor Bob McCarthy handily defeated a challenge from Annalyssa Murphy.

Steve Dibble, in Ward 7, was unopposed in this election season. 

In the four-way School Committee race, Andrea French was taking up the last spot in the race, giving way to Amanda Campbell, Ana Nuncio and Manny Cruz, who finished in that order. Jean Martin, who dropped out for personal reasons after ballots were already printed, had more than 1,900 votes in more than a half-dozen reporting districts, still far short of French at the time.

Contact Salem reporter Dustin Luca at 978-338-2523 or DLuca@salemnews.com. Follow him on Facebook at facebook.com/dustinluca or on Twitter @DustinLucaSN.

ELECTION RESULTS: Salem City Councilor-at-Large

Vote totals for 2017 Salem municipal election.

Candidate Total votes
Domingo Dominguez 5057
Elaine Milo (i) 5016
Arthur Sargent (i) 4624
Tom Furey (i) 4195
David Eppley 3957
Jerry Ryan (i) 3952
Liz Bradt 3728
Jeff Cohen 3,853
(i) denotes incumbent

ELECTION RESULTS: Salem City Council Ward 3

Vote totals for 2017 Salem municipal election.

Candidate Total votes
Lisa Peterson 785
Steve Lovely (i) 695
(i) denotes incumbent

ELECTION RESULTS: Salem City Council Ward 2

Vote totals for 2017 Salem municipal election.

Candidate Total votes
Christine Madore 1,294
Mary Usovicz 960

ELECTION RESULTS: Salem City Council Ward 4

Vote totals for 2017 Salem municipal election.

Candidate Total votes
Tim Flynn 1,006
Robert A. McCarthy 454
Ana Campos (write-in) 240

ELECTION RESULTS: Salem City Council Ward 5

Vote totals for 2017 Salem municipal election.

Candidate Total votes
Josh Turiel (i) 1,038
Polly Wilbert 457
(i) denotes incumbent

ELECTION RESULTS: Salem School Committee

Vote totals for 2017 Salem municipal election.

Candidate Total votes
Amanda Campbell 5,256
Ana Nuncio 4,712
Manny Cruz 4,415
Andrea French 3,723
(i) denotes incumbent

ELECTION RESULTS: Salem City Council Ward 6

Vote totals for 2017 Salem municipal election.

Candidate Total votes
Beth Gerard (i) 1,292
Nadine Hanscom 556
(i) denotes incumbent

ELECTION RESULTS: Salem City Council Ward 1

Vote totals for 2017 Salem municipal election.

Candidate Total votes
Bob McCarthy (i) 856
Annalyssa Murphy 555
(i) denotes incumbent