NATO on Sunday pledged open-ended military support for Ukraine, as Finland hailed its "historic" bid to join the alliance and Sweden's ruling party said it backed a joint membership application.
The promise came after Finland jettisoned decades of military non-alignment, redrawing the balance of power in Europe and angering the Kremlin.
On the ground in Ukraine, Russia announced air strikes in the east and in Lviv in the west as Western intelligence predicted its campaign in eastern Ukraine would stall amid heavy losses and fierce resistance.
At a meeting of NATO foreign ministers in Berlin, Germany's Annalena Baerbock said it would provide military assistance "for as long as Ukraine needs this support for the self-defense of its country."
"Ukraine can win this war. Ukrainians are bravely defending their homeland," NATO chief Jens Stoltenberg added.
Sweden's ruling party said it was in favor of joining NATO just hours after Finland's announcement, in a remarkable turnaround in political and public opinion following Russia's invasion of Ukraine.
"The best thing for Sweden's security is that we apply for membership now, and that we do it with Finland," Social Democratic Prime Minister Magdalena Andersson said.
Stoltenberg said the alliance would look to provide both with interim security guarantees while the applications are processed, including possibly by increasing troops in the region.
In Berlin, U.S. Secretary of State Antony Blinken said he heard "almost across-the-board, very strong support" for the bids, despite misgivings from Turkey.
Ankara has accused both Sweden and Finland of harboring Kurdish extremists, but Stoltenberg said it was not blocking their membership and was confident of finding common ground.
The Kremlin insists the Nordic nations have nothing to fear. In apparent retaliation, it has pulled the plug on electricity supplies to Finland, with which it shares a 1,300-kilometer (800-mile) border.
Away from the conflict, Ukraine was basking in the morale-boosting glory of its entry's landslide win at the Eurovision Song Contest, the world's biggest live music event.
On the battlefield, Russia's defense ministry claimed it had struck four artillery munitions depots in the Donetsk area in eastern Ukraine.
Air strikes had also destroyed two missile-launching systems and radar, while 15 Ukrainian drones were downed around Donetsk and Luhansk, it added.
In Lviv near the Polish border, regional governor Maksym Kozytsky said four Russian missiles hit military infrastructure near the border with Poland.
No casualties were reported and Ukrainian armed forces said they destroyed two cruise missiles over the region.
Lviv was last hit by Russian missiles on May 3.
U.K. defense chiefs said Russia's offensive in the eastern Donbas region had "lost momentum."
Demoralized Russian troops had failed to make substantial gains and Moscow's battle plan was "significantly behind schedule," U.K. Defense Intelligence said.
It added that Russia may have lost one-third of the ground combat forces it committed in February and was "unlikely to dramatically accelerate" its advance in the next 30 days.
Reliable casualty figures have been hard to come by, with Ukraine and Russia regularly publishing claims of enemy dead.
Kyiv says its troops have killed nearly 20,000 Russian troops. Moscow on March 25 said its forces had killed at least 14,000 Ukrainian military personnel.
But both figures are widely suspected to be inflated and have not been verified by AFP or independent conflict monitors.
The Kremlin said in late March that some 1,351 of its troops had been killed.
A senior NATO military official estimated at the same time that between 7,000 and 15,000 Russian soldiers could have been killed in the fighting up to that point.
Russia has increasingly turned its attentions to eastern Ukraine after failing to capture the capital Kyiv.
Western leaders have predicted a drawn-out war of attrition stretching into next year.
But Ukrainian commanders have been more upbeat and expect a turning point by August.
Russia has been trying to cross a river and encircle the city of Severodonetsk but have been repelled, with heavy losses of equipment, according to Luhansk governor Sergiy Gaiday.
Gaiday added that two civilians in Severodonetsk were killed overnight in bombing.
Local officials in Ukraine's second city of Kharkiv in the north have said Russian troops were withdrawing from the surrounding region amid Ukrainian counter-attacks.
Interior ministry adviser Vadim Denisenko told Ukrainian television that Kyiv's troops in the Kharkiv region had almost reached the border with Russia.
Ukrainian troops have been fighting a rear-guard battle from underground tunnels and bunkers under a steelworks in the devastated southern port city of Mariupol.
Families of the estimated 600 troops still holed up at the vast Azovstal plant have appealed to China to intervene to secure the release of the dead and wounded.
The United Nations and Red Cross helped to evacuate women, children and the elderly from the plant where they were sheltering earlier this month.
Petro Andryushchenko, an adviser to Mariupol's mayor, said on Telegram that a "huge convoy" of 500 to 1,000 cars had arrived in the city of Zaporizhzhia.
In war-weary Kyiv, news of Ukraine's runaway Eurovision success was met with outpourings of joy and relief, bringing some respite from a daily barrage of grim reports of the conflict.
"It's a small ray of happiness. It's very important now for us," said Iryna Vorobey, a 35-year-old businesswoman, adding that the show of support from across Europe was "incredible."
The Kalush Orchestra's "Stefania," a rap lullaby combining folk and modern hip-hop rhythms, won the popular vote of viewers, pushing the U.K. into second place.
President Volodymyr Zelensky praised the group, whose lyrics about home took on extra poignancy with more than 6 million Ukrainians currently displaced outside the country.
But some were lukewarm.
"Now, it's not the most important thing," said Vadym Zaplatnikov, 61, who insisted that "having Crimea back" would be a much more welcome announcement.