CHARLOTTE, N.C. — Republican Dan Bishop narrowly defeated Democrat Dan McCready on Tuesday in North Carolina’s 9th Congressional District, with a strong showing in suburban Union County and three rural eastern counties.

With 99 percent of precincts reporting, Bishop led McCready 50.8 percent to 48.6 percent in a race that analysts saw as a harbinger for 2020.

Bishop rolled up big margins in Union County and carried Richmond and Cumberland counties, which McCready had won last fall over Republican Mark Harris. He trailed McCready by slightly more than 200 votes in Robeson County, which McCready won handily in 2018.

On Monday President Donald Trump rallied Bishop supporters in Fayetteville and Vice President Mike Pence crossed the district stumping for Bishop. Pence also appeared on WBT radio Tuesday morning for a final plug.

Shortly after 10 p.m., Bishop appeared at W.F. Harris Lighting near Monroe Executive Airport to a standing ovation and fireworks, embraced by his wife and son. He thanked his family, campaign staff and supporters.

“Tonight is a victory shared by all who believe in the promise of America; in the promise of American exceptionalism and the promise of freedom and opportunity,” he said, then quoted President Ronald Reagan to say those freedoms are not guaranteed.

“Dan handled pressure like the greatest athletes can handle pressure,” Trump said, calling his win “monumental.”

Trump took credit for Bishop’s win in a tweet: “Dan Bishop was down 17 points 3 weeks ago. He then asked me for help, we changed his strategy together, and he ran a great race.”

In fact, polls consistently had shown the race close.

Almost $20 million has been spent to blitz the airwaves with TV ads. Only one special House election in U.S. history has seen more outside spending than the nearly $11 million in the 9th District, according to the Center for Responsive Politics.

The election was the last undecided race of 2018. Last fall’s 9th District election was nullified after state officials found evidence of election fraud in Bladen County.

Before a boisterous crowd at his watch party in south Charlotte, McCready told supporters he’d conceded — but tried to maintain an optimistic note.

“This was never a campaign about partisanship,” he said. “This was always a campaign about values. We may not have won this campaign but that does not mean we were wrong.”

As McCready talked about last year’s election fraud he appeared to be holding back tears. “We fought back, and we won,” said McCready, who had been campaigning for more than two years. “Victory postponed is not defeat.”

Libertarian Jeff Scott and Allen Smith of the Green Party also ran for the seat that has been vacant since January. Republican Harris beat incumbent Robert Pittenger in the 2018 GOP primary.

At a packed hotel ballroom in south Charlotte, McCready’s volunteers and supporters mingled, many of them wearing blue T-shirts that read: “Country over Party.”

Alex Diffey, 66 and a lifelong Republican, said it was easy for him to support McCready — first in the 2018 contest and again this year. “Republicans need to cross the line in the right case,” the retired banker and south Charlotte resident said. “And this is the right case.”

Tuesday’s winner won’t have long to celebrate — filing for his 2020 reelection campaign begins in just 12 weeks.

For both major parties, the race is important for what it suggests about 2020.

Trump carried the 9th District by nearly 12 points in 2016, and no Democrat has represented it since the early 1960s. A Republican loss would have embarrassed the GOP in a state that next year not only will be a presidential and Senate battleground but host the GOP national convention.

Bishop’s victory shows the strength of Trump’s coattails in a district in which he personally invested his time and political capital. It reinforces the power of issues such as immigration. Tuesday night in Fayetteville Trump told supporters they have a “chance to send a message to the America-hating Left.”

“The fact is the Democratic candidate aligns more with the SOCIALIST SQUAD than he does with the People of North Carolina,” Trump emailed Tuesday. “He’s been bought and paid for by Nancy Pelosi and he’ll only contribute to their corrupt agenda.”

In response, McCready had reminded voters that he’s a former Marine who served in Iraq and came back to start a successful business.

Campaigning Monday in Fayetteville, he said the special election was not about Washington but about what matters to voters here in North Carolina. “There’s only one person in this race who has served our country in uniform, who has already fought to keep our country safe, and it ain’t Dan Bishop,” he said.

Bishop consistently tied himself to Trump and sought to cast McCready in the mold of more left-leaning Democrats.

“I’m conservative Dan ... Pro-life. Pro-gun. And pro-wall,” he said in his first TV ad. “Wrong Dan? He’ll fall right in line with his friends — socialists, radicals, they hate the values that made America great.” On Facebook this month, he said McCready is running a campaign “right out of the radical leftist playbook.”

McCready pushed issues like healthcare and education designed to appeal to less partisan voters.

McCready hammered Bishop over actions he took in the General Assembly, including a 2017 vote in which he was the only senator to vote against the final version of the Pharmacy Patient Fair Practices Act. He had voted for another version of the same bill.

Despite the barrage of TV ads, both campaigns knocked on thousands of carefully targeted doors.

Bishop mobilized hundreds of volunteers who manned phone banks and went door-to-door. McCready’s campaign claimed to have knocked on 100,000 doors over the weekend.

A spokesman for the Democratic Congressional Campaign Committee has said much of the group’s $5 million investment in the race was on under-the-radar grassroots organizing.

The DCCC decided “to quietly invest in the race ... and avoid an air war that would nationalize the race,” spokesman Cole Leiter said. Democrats believe that one reason they lost a special election in Georgia two years ago was because of all the national support — and money — garnered by Democrat Jon Ossoff.

But it wasn’t enough.

The Charlotte Observer