U.S. Sen. Michael Bennet easily won re-election Tuesday, overpowering Republican rival Darryl Glenn to keep alive Democratic hopes of retaking the chamber.

The outcome never really appeared in doubt as Bennet held a comfortable lead in most polls — a stark turnabout from a year ago when the Denver lawmaker was considered the most vulnerable Democratic senator in the nation.

Bennet received 49 percent with 1,150,911 votes and Glenn took 46 percent with 1,077,783 votes with 87 percent of the projected vote counted at 7 a.m. Wednesday. The Associated Press called the race before 9 p.m. Tuesday.

“Well, thank you Colorado,” Bennet said on stage at the Democratic victory party. “We took care of business here in Colorado tonight.”

Glenn released a statement Wednesday morning congratulating Bennet and thanking both voters and his campaign volunteers.

“Our goal from the beginning was to protect the U.S. Constitution, create more Colorado jobs and make our country safer and stronger. I am extremely proud of our campaign and believe our message was a good one. Though we were successful in starting a movement, we fell short in winning the race,” his statement said.

“I congratulate Sen. Michael Bennet on his win and hope that he will work with Republican lawmakers to preserve Coloradan’s freedoms and western way of life.”

The race represents a missed opportunity for Republicans to challenge Bennet, who won election in 2010 by a narrow 1.6 percentage points. He is the only Democrat facing re-election in a swing state and cast politically charged votes in favor of the Iran nuclear deal and the federal health care law.

Glenn emerged as a surprise nominee from a fractious GOP contest that came after most big-name Republicans took a pass on the race. The El Paso County commissioner started his longshot bid in January 2015 and won the support of conservatives at the state GOP convention.

Buoyed by big-name endorsements from Sen. Ted Cruz and outside money, he then convincingly won a five-way primary in June. But his no-compromise approach to politics — once calling Democrats is akin to “evil” — made it hard to pivot to the general election, where state voters are split almost evenly among Democrats, Republicans and independents. The national Republican Party did little to help Glenn.

He struggled on the campaign trail and spent the bulk of his time reaching out to Republican supporters. His campaign struggled to explain his conflicting explanations of a 1983 assault charge, which later was dropped. And he later flip-flopped on his support for Donald Trump, alienating Democrats and Republicans alike.

Bennet, meanwhile, cultivated a moderate image since being appointed to the seat in January 2009, after then-U.S. Sen. Ken Salazar agreed to join the Obama administration as Interior Secretary.

The incumbent’s record includes support for both the Affordable Care Act and the Keystone XL Pipeline, and his business-minded approach to labor issues was one reason he didn’t receive support from the state AFL-CIO.

Another obstacle for Glenn was that Bennet entered the race with a significant financial advantage. Just before the June 28 primary, Glenn had about $50,000 in his campaign warchest compared to the $5.7 million collected by Bennet. Though Glenn made a late fundraising push — he collected nearly $2.8 million between July 1 and Sept. 30 — he received little support from national Republican groups, who concentrated more on other races.

Faced with little pressure, Bennet played prevent defense for much of the campaign. He kept a low profile and agreed to only one televised debate: an Oct. 11 affair in which the candidates feuded over health care, immigration and the presidential race.

The lack of competition was a big departure from what Republicans expected going into 2016 and it allowed Democrats to make a play in other states as the party sought to win the Senate majority.

Staff writer Jesse Paul contributed to this report.