US President Joe Biden has told Congress that Vladimir Putin badly misjudged how the West would hit back once he invaded Ukraine.
In a primetime speech, Mr Biden vowed “an unwavering resolve that freedom will always triumph over tyranny”.
Democrats and Republicans reacted to Mr Biden’s appeal to show support for Ukraine by rising in unison to applaud.
His State of the Union address came as pandemic-weary Americans grapple with galloping inflation.
In an hour-long address to lawmakers on Tuesday night, the Democratic president said: “Putin’s war was premeditated and unprovoked. He rejected repeated efforts at diplomacy.
“He thought the West and Nato wouldn’t respond. And he thought he could divide us here at home.”
Mr Biden – whose chaotic withdrawal last year from Afghanistan damaged his popularity among Americans – added: “Putin was wrong. We were ready.”
He announced that the US would ban Russian aircraft from American airspace, following similar bans by Canadian and European authorities.
The US and it allies have launched a barrage of sanctions against Russia’s economy and financial system and Mr Putin himself. In his speech Mr Biden deviated from his prepared remarks by vowing further economic retaliation, warning Mr Putin: “He has no idea what’s coming.”
The US president also welcomed Ukrainian Ambassador Oksana Markarova, who received a standing ovation as she sat in US First Lady Jill Biden’s VIP box.
More coverage of Ukraine crisis
Hours before his address, Mr Biden spoke to Ukrainian President Volodymyr Zelensky to discuss what help the US could give his country after six days of the Russian assault.
“Let each of us… stand and send an unmistakable signal to Ukraine and to the world,” Mr Biden told his audience in the chamber of the House of Representatives.
It was one of the few moments in the speech where members of both deeply polarised parties rose together to clap and cheer for Ukraine, many of them waving Ukrainian flags that had been passed out before the president arrived.
Mr Biden’s first formal State of the Union speech, an annual event pushing a president’s agenda, came as his approval rating languishes.
Just 40.6% of Americans are happy with his job performance, according to the RealClearPolitics polling average.
After addressing his biggest foreign policy crisis, the invasion of Ukraine, Mr Biden confronted a host of domestic troubles dogging his presidency, from the enduring pandemic, to soaring consumer prices, to a wave of violent crime.
Although the US jobless rate has sunk to 4%, inflation has hit a 40-year high.
The president sought on Tuesday night to empathise with hard-pressed working families, saying: “I get it.”
He promised a plan for “building a better America”.
Mr Biden argued the best way to counter rocketing consumer prices was to boost domestic production of cars and semiconductors and rebuild the nation’s roads and bridges.
Opinion polls show Americans are also unhappy with Mr Biden’s handling of the coronavirus pandemic.
But on Tuesday, members of Congress who attended the speech were not required to wear masks for the first time in months.
Mr Biden said: “Last year Covid-19 kept us apart. This year we are finally together again.”
More than 2,000 Americans are still dying daily of Covid, according to the latest figures, the highest official tally of any country in the world.
With the nation’s homicide rate having hit a 25-year high, Mr Biden rejected calls to defund the police that were taken up by a wide spectrum of his fellow Democrats.
“The answer is not to defund the police,” said the president. “The answer is to fund them.”
Iowa Governor Kim Reynolds delivered the Republican response to Mr Biden’s speech.
She sought to portray a presidency that had sent America back to the late ’70s “when runaway inflation was hammering families, a violent crime wave was crashing on our cities, and the Soviet army was trying to redraw the world map”.