ap

Skip to content

How Phil Weiser connected with voters to defeat Michael Bennet in the Democratic primary for governor

The attorney general, once seen as an underdog, trounced the three-term senator by more than 13 points

Attorney General Phil Weiser speaks during an election watch party for his gubernatorial campaign after winning Colorado's Democratic gubernatorial primary on Tuesday, June 30, 2026, at Ace Eat Serve in Denver. (Photo by Timothy Hurst/The Denver Post)
Attorney General Phil Weiser speaks during an election watch party for his gubernatorial campaign after winning Colorado’s Democratic gubernatorial primary on Tuesday, June 30, 2026, at Ace Eat Serve in Denver. (Photo by Timothy Hurst/The Denver Post)
Nick Coltrain - Staff portraits in The Denver Post studio on October 5, 2022. (Photo by Eric Lutzens/The Denver Post)
PUBLISHED: | UPDATED:
Getting your player ready...

When Stephanie Lang made up her mind to vote for Phil Weiser for governor, she wasn’t moved by campaign events or the barrage of ads for or against him.

It was a phone call that secured her support — and not even one that Lang received herself. She’d met someone at a May Day labor rally who had a transgender child. The otherwise stranger told Lang about calling the Colorado Attorney General’s Office to express worry about the Trump administration’s for children like hers.

Weiser — the elected attorney general since 2019 — responded, Lang said, by calling that constituent personally to promise he would use his office to protect those rights.

“That’s an example of governing — it’s not about political power, itap about being here to serve the people,” said Lang, a 37-year-old Denverite. “That really spoke volumes to me.”

Voters like her helped propel Weiser, 58, to a stunning victory on Tuesday over U.S. Sen. Michael Bennet — a man who had previously won three statewide elections by ever-increasing margins, lined up a who’s who of Democratic endorsements before his campaign even launched, benefited from $11.4 million in super PAC support backing his candidacy, and enjoyed, polls long showed, a massive edge in name recognition.

But Bennet’s advantages didn’t always break through to voters — and there were also harder-to-gauge intangible factors that can vary from voter to voter, like which candidate comes across as more personable or more trustworthy.

Lang said she read the news daily, particularly after Donald Trump’s victory in the 2024 presidential election “catalyzed” her. She knew Weiser had sued the Trump administration repeatedly; she couldn’t place Bennet or what he had done.

Attorney General Phil Weiser, center, gives a speech during an election watch party for his gubernatorial campaign on Tuesday, June 30, 2026, at Ace Eat Serve in Denver. (Photo by Timothy Hurst/The Denver Post)
Attorney General Phil Weiser, center, speaks to supporters during an election watch party for his gubernatorial campaign on Tuesday, June 30, 2026, at Ace Eat Serve in Denver. (Photo by Timothy Hurst/The Denver Post)

The surprise delivered by Tuesday night’s primary result wasn’t necessarily Weiser’s victory itself. He had campaigned himself into striking distance in the final month of the race, while Bennetap support seemed calcified. Most political observers, by then, saw a world where either man could become the Democratic nominee.

The surprise was the thoroughness of Weiser’s victory — more than 13 percentage points as of Thursday evening, with most ballot-counting complete.

“Weiser ran an amazing campaign,” Colorado State University political science professor Kyle Saunders said. “He didn’t have the name recognition six months ago. He didn’t have the backing. And this wasn’t some squeaker you can explain away with turnout.

“There’s no doubt, to my eye, that Weiser was helped by anti-incumbent sentiment. But this was a shellacking.”

‘Discontent among the Democratic base’

From the time Bennet announced he was running in April 2025, three months after Weiser entered the race, the senator was dogged by questions about why he’d want to leave Washington, D.C. — and why he needed to give up one of the most powerful political positions in the country to make a difference for Colorado.

While not a true incumbent, Bennet nonetheless faced the drag of an anti-incumbent year as he sought another office.

Michael Bennet leaves the stage with his family after delivering a concession speech during a Democratic gubernatorial primary watch party at the Schoolyard Brewery in Denver on Tuesday, June 30, 2026. Phil Weiser was declared the Democratic nominee for Governor of Colorado. (Photo by AAron Ontiveroz/The Denver Post)
U.S. Sen. Michael Bennet leaves the stage with his family after delivering a concession speech during his Democratic gubernatorial primary watch party at the Schoolyard Beer Garden in Denver on Tuesday, June 30, 2026. He lost the Democratic nomination to Attorney General Phil Weiser. (Photo by AAron Ontiveroz/The Denver Post)

And now, instead of being able to move back to Colorado full time, Bennet will remain in Washington, with more than two years left in his Senate term — while Weiser faces the Republican nominee who emerges from a primary race that was, as of late Thursday, still too close to call. In increasingly blue Colorado, the Democrat will go into the fall general election campaign as a heavy favorite.

A pair of polls by the bipartisan Colorado Polling Institute, from September and April, pointed to that broader discontent with incumbents, especially among Democrats frustrated with the Trump administration — and with what their elected officials were doing to fight it.

The April poll found Bennet’s favorability among Coloradans had dropped from the prior year’s poll results, from 45% to 40%. His unfavorable rating had risen, from 31% to 39%.

“CPI had been picking up on discontent among the Democratic base throughout the past year, and the primary became the release valve,” said Kevin Ingham, a principal from the Democratic polling firm Aspect Strategic, which works with CPI. “Every race is different, but the data was all pointing towards a uniquely difficult environment for any longtime Democratic incumbent.”

That sentiment was apparently most stark in Denver. Voters in the Democratic primary there ousted longtime U.S. Rep. Diana DeGette in favor of attorney Melat Kiros, a 29-year-old democratic socialist who’s now the nominee. Denver was also where Weiser did best, winning almost two votes for each one cast for Bennet. And it’s where Bennet’s Senate counterpart, U.S. Sen. John Hickenlooper — who still won the Democratic nomination for reelection Tuesday — trailed his challenger, liberal state Sen. Julie Gonzales, by nearly 9 percentage points.

Map: Who’s leading in the Colorado primary race for governor?

Amy Kenreich, a 46-year-old Denverite, said she saw Weiser as more progressive overall than Bennet, with values that she shared. But as much as she supported Weiser, she was driven just as much by an antipathy for Bennet that stretched back to his time running Denver Public Schools nearly 20 years ago.

She accused him of using his time there to bring “the privatization movement to education in Denver,” and she saw him as likely to do the same as governor.

The flood of outside money into the race, including $5 million from New York City billionaire Michael Bloomberg to support Bennet, only reinforced that feeling.

"Once people understand what's going on, see what's going on, it's disgusting — and they're outraged,” Kenreich said. “People are more likely to take action if they're angry about something, and they're angry about billionaire influence for sure."

Making personal connections

Danielle Varda, an Arvada volunteer for Weiser’s campaign and a Democratic candidate for the Colorado House of Representatives, said she saw the election as a rejection of an "ivory tower of election-knowers.”

“We just saw how slick your mailer is, and how many go out," Varda said. "Itap the difference between authenticity and a gimmick. I think Bennet was relying on the machine, the way everyone tells you you’re supposed to do it. And times are just changing.”

She contrasted that with Weiser. She described him as someone who, “when he meets people, he looks them in the eye and remembers their name.”

Varda had her own moment like that about a year ago. Weiser had already made it clear he wouldn’t issue endorsements in state House races. But when they both attended an event, he made sure to talk with her and get her phone number.

“He made that one little personal connection, and I felt seen,” Varda said. “I felt like he cared who I was. … If you multiply that by a million, thatap Phil Weiser.”

From there, the two politicians' networks overlapped. Varda didn’t have an opponent in the primary, having won out at the local assembly, but that moment with Weiser motivated her to use her connections to campaign on his behalf.

She recalled meeting with Democratic groups in Golden — typically thought of as a more moderate enclave of metro Denver, Varda said — and found people eager for a fighter. Weiser would go on to win Jefferson County with 57% of the vote.

U.S. Sen. Michael Bennet looks on as Colorado Attorney General and Democrat gubernatorial candidate Phil Weiser, who won the Democratic primary race against Bennett, speaks during a unity rally put on by the Colorado Democratic Party following Tuesday's primary election, on Thursday, July 2, 2026, at the Laborers' International Union of North America Local 720 headquarters in Denver. (Photo by Timothy Hurst/The Denver Post)
U.S. Sen. Michael Bennet looks on as Colorado Attorney General and Democrat gubernatorial nominee Phil Weiser, who won the Democratic primary race against Bennett, speaks during a unity rally put on by the Colorado Democratic Party following Tuesday’s primary election, on Thursday, July 2, 2026, at the Laborers' International Union of North America Local 720 headquarters in Denver. (Photo by Timothy Hurst/The Denver Post)

Bennet declined media interviews after a show-of-unity Democratic Party event on Thursday that drew many candidates and officials. But during a speech congratulating Weiser (and after chuckling about Weiser’s unofficial slogan: “Phil Weiser for governor; Michael Bennet for Senate"), he praised his opponentap work.

“Itap hard to start in the position Phil was in, and knock on every door and make those calls and get out to every single community and win this race,” Bennet said. “I was amazed to watch the work that he did and to see the loyalty of the team that he built all over the state of Colorado, from the very beginning.”

Weiser, for his part, emphasized lessons he learned from past governors, including Roy Romer and Hickenlooper, and from former U.S. Rep. Ed Perlmutter.

“If you’re knocking on doors, you’re there to listen and learn,” Weiser said. “... You shake every hand. You honor every voter. You’re there to serve, and you do it with a smile because this work is about the people of Colorado."

More in Election