Germany says it has carried out its first deportation of convicted Afghan offenders since the return of the Taliban to power in Afghanistan three years ago.
The flight came a week after three people were fatally stabbed at a street festival in the western town of Solingen.
The killings shocked Germany and sparked an intense debate over asylum rules when it emerged the main suspect was a 26-year-old Syrian refugee facing deportation. An Afghan man was detained after another deadly attack in May.
The government in Berlin has already announced a series of measures ahead of elections on Sunday in eastern Germany, where the far-right Alternative for Germany is riding high in the polls.
Asylum seekers facing deportation are to lose benefits and carrying knives will be banned at most public events and on public transport, ministers say.
Sunday's votes in Thuringia and Saxony could end in humiliation for the three parties running the federal government as they are all running below 10% in the polls.
In Thuringia, the AfD are being tipped to come first, ahead of the conservative CDU, while in Saxony, opinion polls put the two parties neck and neck.
The anti-immigration party has little chance of coming to power in either state as no other group is prepared to help the AfD form a majority.
The far-right Alternative for Germany is hoping to come first in Saxony and Thuringia on Sunday
Friday's chartered flight from Leipzig shortly before 07:00 (05:00 GMT) was carrying 28 Afghan men on board a Boeing 787 to Kabul, German reports said.
"These were Afghan nationals, all of whom were convicted offenders who had no right to remain in Germany and against whom deportation orders had been issued," said government spokesman Steffen Hebestreit.
Germany halted deportations in 2021 as the Taliban swept back to power in Afghanistan and the security situation deteriorated.
Although Germany has no diplomatic relations with the Taliban government, Chancellor Olaf Scholz said the deportation of Afghans and Syrians would be allowed after the knife attack in Mannheim last May in which a police officer was killed. A 25-year-old Afghan man was arrested.
Last Friday's attack in Solingen, in which three people died and eight others were wounded, has caused outrage in Germany.
Issa Al H, 26, is being investigated for murder and links to militant group Islamic State (IS).
The Syrian should have been deported to Bulgaria last year but German reports suggest that the attempt failed because officials had failed to find him.
During a visit to Solingen this week, Chancellor Olaf Scholz said the government would do all it could to ensure "those who cannot and must not stay here in Germany are repatriated and deported".
Ministers from the three ruling parties - the Social Democrats, Greens and Liberal FDP - announced what they said were far-reaching measures in response to the attack.
Knives are to be banned at most public events including markets and sport as well as on public transport, and there will be a blanket ban on flick knives.
Foreigners ordered to leave the country will have to be deported more quickly and efficiently, they say. Anyone facing a jail term for knife crime would face fast deportation.
A task force for the prevention of Islamism is being proposed and biometric facial recognition will be used to help identify suspects. IS said it was behind the Solingen attack and a day afterwards released a video purportedly showing the suspect in a mask.
Interior Minister Nancy Faeser said asylum seekers who had already registered in another European Union country would lose their rights to welfare benefits.
Ms Faeser insisted that nobody would be left hungry or sleeping on the streets, as the other EU country would be responsible for paying their benefits.
The suspect in custody in the western city of Düsseldorf had sought asylum in Germany but he was turned down because he had first entered the EU in Bulgaria.
Under the EU's Dublin Regulation, an application for asylum has to be made in the country of arrival.
The leader of the CDU, Friedrich Merz, who met the chancellor this week, had called for a halt on allowing refugees from Afghanistan and Syria to enter Germany, but that was rejected by Mr Scholz.
All the planned measures will have to go before parliament before they come into force.