SCARBOROUGH — Former four-term Gorham legislator Linda Sanborn defeated state Sen. Amy Volk, R-Scarborough, by 171 votes Tuesday as Democrats made a clean sweep of Senate and House seats representing South Portland, Cape Elizabeth and Scarborough.

Volk, the assistant Senate Republican leader, was seeking a third term in Senate District 30, which includes Gorham, part of Scarborough and part of Buxton. Before that, she served in the state House for four years.

Sanborn received 11,128 votes, to Volk’s 10,957.

Sanborn credited Volk for running a “honest and clean” race.

“I knew I had to work hard to win this,” she said.

In Senate District 29, Rep. Rebecca Millet, D-Cape Elizabeth, defeated Republican challenger George Van Syckel, 14,978 to 5,204, to earn a fourth term.

Millett on Wednesday said she was “elated,” having just heard the news of Sanborn’s victory. She said she’s honored to be working with the five new House representatives from the area, as well as incumbent Rep. Lois Galgay Reckitt, D-South Portland, who was re-elected in District 31.

“They are thoughtful and hard-working people,” Millett said. “I can’t wait to work with Gov. Janet Mills and … Sanborn as well.”

Incumbent Andrew McLean, a Democrat, defeated challenger Roger Densmore, a Republican, in House District 27. The unofficial tally was 3,577 to 2,070.

The district represents part of Gorham and part of Scarborough.

McLean narrowly won in Scarborough 319-296but outpolled Densmore by a vote of 3,258 to 1,774 in Gorham.

Rep. Karen Vachon, R-Scarborough, came close to securing a third term representing House District 29, but was unseated by longtime Town Councilor Shawn Babine.

According to unofficial results, Babine, a Democrat, received 53 percent of votes, outpolling Vachon, 2,984 to 2,600.

Babine has served on the Scarborough Town Council for five terms. His term expires in 2020. He said he’d remain on the council long enough to allow the town time to find a replacement.

Babine is not the only town councilor Scarborough is losing to the House. Councilor Christopher Caiazzo, a Democrat, decided not to run for another term for a shot to replace state Rep. Heather Sirocki, R-Scarborough, who was termed out in House District 28.

Caiazzo, who lost to Sirocki in 2016, defeated his opponent, Republican Linwood Higgins, 2,783 to 2,473.

In House District 30, Anne Carney, D-Cape Elizabeth, outpolled her Republican opponent, Charles Rich, with support from 75 percent of voters. The unofficial results were 4,002 for Carney and 1,329 for Rich.

District 30 represents nearly all of Cape Elizabeth, except for a sliver along the South Portland border that’s part of District 32. The seat is being vacated by Democratic state Rep. Kimberly Monaghan, who is termed out.

On Wednesday afternoon, Carney said she was “really excited and ready to get to work.” She gave a nod to the long lines of voters she saw while greeting voters at the doors of Cape Elizabeth High School on Tuesday.

“There were long lines all day,” she said. “It showed voters’ dedication to the Democratic process.”

Reckitt defeated Kenneth Decatur, R-South Portland, 3,982 to 1,062 in House District 31, which includes South Portland’s Knightville and Willard Beach neighborhoods.

On Wednesday, Reckitt said she was “very excited” by Tuesday’s results and is “thrilled” to get to work and make “positive moves forward.”

“I was not not looking forward to another term of gridlock,” Reckitt said. “At least we aren’t going to be stuck in veto (mode).”

Democrat Christopher Kessler defeated Republican Tammy Walter for the House District 32 seat being vacated by Rep. Scott Hamann, D-South Portland. The district includes part of South Portland and part of Cape Elizabeth.

Kessler prevailed with 3,168 votes to Walter’s 1,301.

On Wednesday evening, Kessler said he was “hopeful and excited about the possibilities of the many ways (the legistature) is going to be able to turn Maine around again,” in part by addressing healthcare and energy efficiencies.

“I’m excited for the opportunity to make progress … on all of the issues that have been roadblocked for the past eight years,” he said.

In District 33, Victoria Morales, D-South Portland, defeated Republican Christopher Hoy, of South Portland, 2,636-906. The seat, now held by Independent Rep. Kevin Battle, includes the portion of South Portland north and west of Broadway and Main Street.

Hoy did not actively campaign.

Robert Lowell contributed to this report. Jocelyn Van Saun can be reached at 781-3661, ext. 183 or [email protected]. Follow her on Twitter @JocelynVanSaun.