But while the campaign saw its share of sharp elbows, the dividing lines between the candidates were fuzzier than expected. The Clinton-Sanders redux race many expected -- and some hoped for -- never materialized. Instead, the animating questions were both broader, with President Donald Trump's long shadow looming, and narrower, as the candidates jostled over issues unique to the Commonwealth.
Northam came out on top, picking up about
55% of the vote to Perriello's 45%, with 81% of the state reporting.
In the end, his initial focus on the White House might have tripped up Perriello, whose profile is less of a state politician than megaphone for the Trump-era angst of the national party. And that could be the ultimate implication of this race for Democrats, who will continue to ask whether making Trump the focus of every contest is a more direct path back to power than zeroing in on local issues.
If Northam's victory is any indication -- and that too will be up for debate -- then Democrats might be wise not to bank on "the resistance" for too much, at least when they're vying for the support of their own party's rank-and-file.
Perriello drew headlines at the outset of the campaign for his full-throated assault on Trump, an apparent effort to nationalize the race and coalesce the growing opposition to the incoming administration's controversial agenda. Northam initially centered his focus on statewide questions. But as primary day neared, the competing ideas about what issues should drive the race dovetailed. Northam, a doctor, upped his attacks on Trump, calling the President
a "'narcissistic maniac" in an ad last month.
Despite their varying approaches, months on the trail have revealed two candidates as more alike than not.
"Both of these candidates fit into the ideological tradition of (Democrats Terry) McAuliffe, (Tim) Kaine and (Mark) Warner," said Democratic strategist Jesse Ferguson. "This primary has been more of a contest of style, approach and focus than substantive policy differences."
Perriello joined the race as resistance to the Trump agenda began to boom, and promised on the stump to make Virginia a bulwark against it. His bid was boosted soon thereafter by the backing of Sen. Bernie Sanders and his political organization, "Our Revolution," along with a laundry list of former aides to President Barack Obama.
Among the Obama veterans to line up behind Perriello were 2008 campaign manager David Plouffe and former White House Communications Director Jennifer Palmieri, who more recently served as a top aide on Hillary Clinton's 2016 campaign. John Podesta, Clinton's campaign chairman, wrote an op-ed
in the Washington Post to offer his blessing.
Obama never joined Perriello on the campaign trail, as he did in 2010 when the congressman was fighting an ill-fated battle to keep his seat in the House. Still, Perriello touted his good relations with the popular former president, using video
from the old re-election rally in a series of ads. One of the spots featured Obama, Sanders and Massachusetts Sen. Elizabeth Warren.
At first expected to cruise to the nomination without a serious challenge, Northam countered with a broader slate of state-based support. The governor, Terry McAuliffe, backed his deputy. Virginia's Democratic Sens. Tim Kaine and Mark Warner, along with attorney general Mark Herring endorsed Northam. Both state House and Senate caucuses pledged their support just ahead of Perriello's announcement.
As the campaign progressed, both candidates ran into roadblocks in the form of past votes that threatened to undermine their pitches to the party base. Perriello, who backed Obamacare, then defended his decision -- and the law -- when many of his Democratic colleagues backed off, was confronted on the trail for his support of the "Stupak Amendment," a proposed Obamacare tweak that would have denied federal money to insurance plans offering abortion coverage. (Perriello apologized on the trail, repeatedly, and while he currently has a 100% rating from abortion rights group NARAL, Northam won their endorsement.)
Northam encountered his own difficulties. He was attacked for taking money from the increasingly controversial Dominion Energy, a regulated monopoly that serves as the state's largest energy supplier. Perriello announced early on that he would not accept donations from the influential company.
Northam was also forced to cope with an admission that he voted -- in 2000 and 2004 -- for candidate and then President George W. Bush. Perriello drilled him on the decision throughout the campaign.
"I'm the only person in this race that's been a Democrat my whole life," Perriello said at a forum in May. "I voted for Democratic presidential candidates. I devoted my life for three years to trying to defeat George Bush's agenda while Ralph Northam was voting for him twice."
At a town hall in Richmond a month earlier, Perriello suggested those votes would hamstring Northam in a general election debate with the likely GOP nominee, Ed Gillespie, who served as the Republican National Committee chair during Bush's re-election campaign before eventually working in his White House for 18 months.
For Democrats, the fight to keep hold of the governor's mansion Virginia is only beginning. Northam, Perriello, DNC chair Tom Perez, McAuliffe and others are slated to gather for a unity event on Wednesday.