RALEIGH, N.C.—North Carolina election officials voted unanimously Thursday to hold a new election for the state’s Ninth Congressional District, after Republican candidate Mark Harris said evidence of ballot tampering by his campaign had convinced him one was needed.

The Charlotte-based seat is the nation’s last undecided congressional race and has been in flux since the Nov. 6 election, when Mr. Harris appeared to win it by a 905-vote margin over Democrat Dan McCready. But the board of elections declined to certify him as...