A month after topping a seven-person primary field, retired judge Elaine O'Neal won the Durham mayoral race on Tuesday.