Russian President Vladimir Putin appeared at a huge flag-waving rally at a Moscow stadium Friday and praised his country’s troops in biblical terms as they rained lethal fire on Ukraine’s cities.

“Shoulder to shoulder, they help and support each other,” Putin said of the Kremlin’s forces in a rare public appearance since the invasion three weeks ago that made Russia an outcast among nations and triggered antiwar protests at home. “We have not had unity like this for a long time,” he added to cheers from the crowd.

Moscow police said more than 200,000 people were in and around the Luzhniki stadium for the celebration marking the eighth anniversary of Russia’s annexation of the Crimean peninsula, seized from Ukraine.

The event included patriotic songs, including a performance of “Made in the U.S.S.R.,” with the opening lines “Ukraine and Crimea, Belarus and Moldova, it’s all my country.”

Seeking to portray the war as just, Putin paraphrased the Bible to say of Russia’s troops: “There is no greater love than giving up one’s soul for one’s friends.” And he continued to insist his actions were necessary to prevent “genocide,” a claim flatly denied by leaders around the globe.

Video feeds of the event showed a loudly cheering crowd that broke into chants of “Russia!”

Several Telegram channels critical of the Kremlin reported that students and employees of state institutions in a number of regions were ordered by their superiors to attend rallies and concerts marking the Crimea anniversary. Those reports could not be independently verified.

In the wake of the invasion, the Kremlin has clamped down harder on dissent and the flow of information, arresting thousands of antiwar protesters, banning sites such as Facebook and Twitter, and instituting tough prison sentences for what is deemed to be false reporting on the war, which Moscow refers to as a “special military operation.”

The OVD-Info rights group that monitors political arrests reported that at least seven independent journalists had been detained ahead of or while covering the anniversary events in Moscow and St. Petersburg.

Standing on stage in a white turtleneck and a blue down jacket, Putin spoke for about five minutes. Some people, including presenters at the event, wore T-shirts or jackets with a “Z” — a symbol seen on Russian tanks and other military vehicles in Ukraine and embraced by supporters of the war.

Putin’s quoting of the Bible and a Russian admiral of the 18th century reflected his increasing focus in recent years on history and religion as binding forces in Russia’s post-Soviet society.

The rally came as Russian troops continued to pound the Ukrainian capital, Kyiv, and launched a barrage of missiles against an aircraft repair installation at an airport on the outskirts of the western city of Lviv, close to the Polish border. One person was reported wounded.

Satellite photos showed the strike destroyed a repair hangar and appeared to damage two other buildings. A row of fighter jets appeared intact, but an apparent impact crater sat in front of them.

Ukraine said it had shot down two of six missiles in the volley, which came from the Black Sea.

The early morning attack was the closest strike yet to the center of Lviv, which has become a crossroads for people fleeing from other parts of Ukraine and for others entering to deliver aid or join the fight. The war has swelled the city’s population by some 200,000.

In city after city around Ukraine, hospitals, schools and buildings where people sought safety have been attacked. Rescue workers continued to search for survivors in the ruins of a theater that was being used a shelter when it was blasted by a Russian airstrike Wednesday in the besieged southern city of Mariupol.

Ludmyla Denisova, the Ukrainian Parliament’s human rights commissioner, said at least 130 people had survived the theater bombing.

“But according to our data, there are still more than 1,300 people in these basements, in this bomb shelter,” Denisova told Ukrainian television. “We pray that they will all be alive, but so far there is no information about them.”

Early morning barrages also hit a residential building in the Podil neighborhood of Kyiv, killing at least one person, according to emergency services, who said 98 people were evacuated from the building. Kyiv Mayor Vitali Klitschko said 19 were wounded in the shelling.

Two others were killed when strikes hit residential and administrative buildings in the eastern city of Kramatorsk, according to the regional governor, Pavlo Kyrylenko.

The fighting has led nearly 3.3 million people to flee Ukraine, by the U.N.’ s estimate. The death toll remains unclear, though thousands of civilians and soldiers on both sides are believed to have been killed.

Ukrainian President Volodymyr Zelenskyy said Ukraine’s defenses have proved much stronger than expected, and Russia “didn’t know what we had for defense or how we prepared to meet the blow.”

World leaders have demanded Russia be investigated for possible war crimes over its attacks on civilians. The World Health Organization said it has confirmed 43 attacks on hospitals and other health care facilities, with 12 people killed.

Both Ukraine and Russia this week reported some progress in negotiations. Earlier this week, an official in Zelenskyy’s office, speaking on condition of anonymity to discuss the sensitive talks, told The Associated Press that Ukraine was prepared to discuss a neutral status for the country in return, in part, for binding security guarantees.

Russia has demanded NATO pledge never to admit Ukraine to the alliance or station forces there.

Copyright 2024 The Associated Press. All rights reserved. This material may not be published, broadcast, rewritten or redistributed.

Join our Newsletter for the latest news right to your inbox