Assailants loyal to Islamic State forced an elderly priest to his knees before slitting his throat and took several worshippers hostage in a French church.
It was the latest in a wave of attacks in Europe inspired by the Islamist militant group based in Iraq and Syria that is on the defensive against a US-led military coalition in which France is a major partner.
The knifemen entered the church on Tuesday during morning mass near the northern city of Rouen, killing Father Jacques Hamel, an 85-year-old parish priest, and taking four other people hostage, one of whom was seriously wounded.
"They forced him to his knees and he tried to defend himself and that's when the drama began," said Sister Danielle, who escaped as the attackers slayed the priest.
"They filmed themselves. It was like a sermon in Arabic around the altar," the nun added.
Police shot the attackers dead as they emerged from the church in the Normandy town of Saint-Etienne-du-Rouvray.
Speaking at the scene of the attack, President Francois Hollande said Islamic State had declared war on France, which should "use all its means" within the law to fight the group.
The president called it a "dreadful terrorist attack" and told reporters the attackers had pledged allegiance to Islamic State, against which France has launched air strikes in Syria and Iraq.
News agency Amaq, which is affiliated with Islamic State, said two of its "soldiers" were involved.
The White House condemned the attack and commended the French police for their "quick and decisive response".
The attack was the latest in a string of deadly assaults including the mass killing in Nice, southern France, on Bastille Day 12 days ago and four incidents in Germany, most recently a suicide bombing at a concert in Ansbach on Sunday.
The anti-terrorist unit of the Paris prosecutor's office is investigating the attack. Police said one person had been arrested.
Several French media reported that one of the knifemen was a local man who had spent a year in jail on his return from Turkey after being intercepted trying to travel to Syria, but had been freed on bail with an electronic tag pending trial for alleged terrorism offences.
The prosecutor's office said the identification of the two suspects was still underway and it was too early to jump to conclusions about a possible link.
Former president Nicolas Sarkozy, who is expected to enter a conservative primary soon for next year's presidential election, jumped on the latest incident to accuse the Socialist government of being soft on terrorism.
"We must be merciless," Sarkozy said in a statement to reporters.
Far-right National Front leader Marine Le Pen, who is also expected to run for the presidency, said both major parties had failed on security.
Pope Francis condemned what he called a "barbarous killing".