Bolstered by opposition to President Donald Trump’s agenda, Democrat Abigail Spanberger stunned Republican U.S. Rep. Dave Brat on Tuesday, claiming victory over him in a nationally watched race four years after he upended former House Majority Leader Eric Cantor in a GOP primary.

“I am honored to stand before you as the congresswoman-elect from Virginia’s 7th District,” she told a large crowd at The Westin Richmond in Henrico County late Tuesday. “This is what can happen when everyday citizens realize their collective strength in a democracy and when they join with their neighbors to stand up for what they believe in and they use their voices at the polls.”

Brat aide Phil Rapp said Brat would not concede and would make no public comment until Wednesday.

“There’s always a chance. There’s provisional ballots out there that have to be counted,” Rapp said. “Just the process alone — errors do happen. We don’t know. But the process is in place to ensure that all of this is in line. ... We’re going to run the string out on this.”

Meanwhile, Spanberger said late Tuesday that she did not expect any significant change in unofficial results showing her with a lead and did not expect a recount.

“We focused on the needs of the people, the voters, we talked about the substantive issues affecting their lives, we stood up for American values, and we brought respect and decency back to the political process,” Spanberger said.

Polling before the election showed a gender gap benefiting Spanberger, and suburban women helped retire Brat from Congress.

Spanberger was dominant in the Henrico County portions of the district and also carried the Chesterfield County portions, according to unofficial results.

Spanberger worked as a CIA officer for 8½ years and is a married mother of three girls. She and her family live in Henrico, where she grew up, and her campaign drew several thousand volunteers and assistance from the Democratic Congressional Campaign Committee. She outspent Brat nearly 2-1, but outside groups spent big to help each candidate as well.

Spanberger decided to run, she said earlier this year, because of Trump’s support for a border wall and his policy banning travel to the U.S. by people from some majority-Muslim countries.

Throughout the campaign, she positioned herself as someone who would work with both parties to solve problems with a focus on national security and protecting health care. She attacked Brat for his votes to repeal the Affordable Care Act, and specifically over the possibility that people with pre-existing health conditions could have been charged more should the repeal have also passed the Senate.

In the buildup to Tuesday, Spanberger campaigned in all 10 of the district’s counties in 10 days, while Brat, who was endorsed by Trump, declined to release a campaign schedule to the public or press and held few public campaign events, saying he worried political opponents would protest him.

Brat’s loss was a remarkable turnaround for him, and it highlights the changing nature of the Richmond suburbs. In 2016, Brat beat Democrat Eileen Bedell by 15 points.

The Spanberger campaign considered the portions of Chesterfield County in the 7th to be “make or break.”

As a member of the conservative House Freedom Caucus, Brat aligned himself with the Trump agenda on tax cuts and other issues, regularly defended the president, and criticized the investigation of Russian interference in the 2016 election by special counsel Robert Mueller.

Brat did well in the rural areas of the district, but Spanberger won votes there, too. Libertarian candidate Joe Walton also was on the ballot.

On Saturday, Steve Bannon, the controversial former chief strategist in the White House — who had supported Brat over Cantor in 2014 — visited Culpeper in an effort to get Trump voters to the polls on Tuesday.

Brat and Spanberger held one debate, in Culpeper. Planning was underway for a second debate when Brat campaign aide Rapp in late September called the Spanberger campaign to say Brat couldn’t commit to it.

Get the Virginia Politics Insider email update every evening during the GA and weekly all year

* I understand and agree that registration on or use of this site constitutes agreement to its user agreement and privacy policy.

pwilson@timesdispatch.com

(804) 649-6061

Twitter: @patrickmwilson

Staff writers Ali Rockett and Frank Green contributed to this report.

Load comments

You must be a full digital subscriber to read this article You must be a digital subscriber to view this article.