Milton Holmes and Herman Joubert were in close competition for the lead late on election night with about a quarter of precincts reporting.
Holmes, of Durham, has worked as a CPA and a lawyer. Joubert, a substitute teacher and bus driver, is chairman of the Caswell County GOP Committee.
The Republican winner faces Democratic incumbent Mike Woodard in November’s general election. A Holmes-Woodard race would be a repeat of the 2012 campaign, when Woodard won with 65 percent of the vote.