In 2004 Hannemann again ran for Mayor, this time to replace Harris, who was unable to seek a third full term as Mayor due to term limits. His opponent was former City Council colleague Duke Bainum. The race was considered one of the fiercest and most expensive in the city's history, with both candidates sharply criticizing the other's stands and character. Bainum received the most votes in the September election, but failed to receive the necessary majority to avoid a run-off against Hannemann. In November, Hannemann narrowly won the election with a margin of about 1,300 votes out of nearly 300,000 cast.