Democratic state Sen. Rebecca Millett won a three-way race for Maine Senate District 29.

Millett, 52, of Cape Elizabeth, is a consultant. She got 9,897 votes, 53 percent of the vote.

Republican William R. DeSena of Cape Elizabeth got 35 percent. Mark K. Diehl, 44, a novelist from Cape Elizabeth who ran as a Green Independent, got 11 percent.

The district includes Cape Elizabeth, South Portland and part of Scarborough.