Sen. Tim Kaine (D-Va.) during a campaign kickoff rally in Richmond in April. On Saturday, he blasted GOP challenger Corey A. Stewart for his ties to white supremacists. (Steve Helber/AP)

Sen. Tim Kaine (D-Va.) attacked Republican challenger Corey A. Stewart for his ties to white supremacists in a speech to more than 1,000 cheering Democrats on Saturday, unloading on the brash defender of Confederate symbols who won the GOP nomination last week.

“My opponent likes to praise and encourage white supremacists, those who organize hate-filled rallies like the tragedy in Charlottesville and perpetrate online filth and anti-Semitism,” Kaine said. “This week the American press was filled with stories about his bizarre connections to spreaders of hate. And Israeli newspapers were filled with articles about his ties to notorious anti-Semites. Is this who Virginia is in 2018? Is this what the Senate needs?”

Kaine made the remarks at a Richmond gala headlined by Sen. Cory Booker (D-N.J.), a potential 2020 presidential contender. Kaine, seeking his second Senate term after running for vice president alongside Hillary Clinton in 2016, never mentioned his opponent by name, saying he did not want anyone to confuse him with “the good Cory.”

“I challenge Tim Kaine and his left-wing media buddies to find one racist thing I’ve ever said,” Stewart said Sunday in a text message. “Kaine’s obsessed with me and doesn’t want to talk about his own record. Why? Because Tim Kaine has done nothing over the last six years other than run for Vice President and call people racist. Virginians need a Senator who will support the President to Make America Great Again. That’s what I’m going to do as U.S. Senator.”

Stewart, chairman of the Prince William Board of County Supervisors since 2006, leads Virginia’s second-largest jurisdiction with a swaggering style that he touts as “more Trump than Trump.” His efforts to crack down on undocumented immigrants in the county stretch back more than a decade.

He embraced the Confederate flag and monuments in a bid for governor last year, a strategy that startled many establishment Republicans but nearly propelled him to victory in a primary battle with former Republican National Committee chairman Ed Gillespie. Gillespie, who went on to ape some of Stewart’s hard-edge messaging, lost in a landslide to Democrat Ralph Northam in November.

During the gubernatorial primary race, Stewart twice appeared with Jason Kessler, founder of Unity and Security for America (USA), a fledgling group that calls for “defending Western Civilization.” Kessler went on to organize the Unite the Right rally, which sparked deadly unrest in Charlottesville last summer.

Stewart also called Paul Nehlen, a self-professed “pro-white” candidate for Congress in Wisconsin, “one of my personal heroes” for challenging House Speaker Paul D. Ryan (R-Wis.).

Stewart has since tried to distance himself from Kessler and Nehlen, saying he was not initially aware of their extremist views. He also said that he planned to appear with Kessler just once and that the second time they both happened to show up at the same rally at the University of Virginia.

In his speech Saturday, Kaine also took aim at the Trump administration for separating hundreds of migrant children from their parents on the nation’s southern border — a practice that Kaine suggested was rooted in racism.

“We have a president right now who is tearing apart families who are coming to seek refuge in this country,” Kaine said. “On the night before Father’s Day, that’s what this nation has come to with this president. . . . Is there any doubt that if these children had light skin and were speaking English that they wouldn’t be loaded into cells and rooms in a windowless Walmart in the hundreds and the thousands on the southern border of this country?”

The White House did not immediately respond to a request for comment.

Kaine laid out what he called his “positive vision” for the country, including “health care for all,” affordable college and criminal justice reform. He eventually pivoted to a full-throated condemnation of Stewart, starting with the county board chairman’s record on taxes, education, climate change and abortion.

He went on to talk about Stewart’s tenure as chairman of Trump’s Virginia campaign. Stewart was fired late in the race after protesting outside Republican National Committee headquarters, contending that “RNC establishment pukes” were trying to undermine Trump.

“My opponent was so wacky that President Trump’s campaign fired him as their campaign manager and the Koch brothers — even the Koch brothers — refused to support him,” Kaine said, referring to the founders of Americans for Prosperity, a conservative group that has announced that it will not back Stewart.

All five of Virginia’s statewide elected officials spoke at Saturday’s event, along with former governor Terry McAuliffe, another potential 2020 Democratic contender. Some played up the contrast between the polarizing Stewart and Kaine, a former Catholic missionary who was the butt of “dad jokes” during the 2016 election.

“It’s America’s dad versus the Confederacy’s last holdout,” Virginia Attorney General Mark R. Herring (D) said.

Said Booker: “This is a time when we’re elevating bigotry and hatred in our elected lives. . . . He’s the antidote to what ails us.”