Eight children and a security guard have been killed after a teenage boy opened fire at a school in central Belgrade, Serbian police said.
Six more children and a teacher were injured in the shooting at the Vladislav Ribnikar primary school.
Police identified the shooter by his initials, KK. The statement said he was a student at the school and was born in 2009.
The boy was arrested in the schoolyard, police said, adding that he used his father’s gun in the incident.
Officers said they received a call about the shooting at around 8.40am local time (7.40am BST).
Local media footage from the scene showed a commotion outside the school as police removed the suspect, whose head was covered as officers led him to a car parked in the street.
Mass shootings in Serbia and in the wider Balkan region are extremely rare and none has been reported in schools in recent years.
In the last mass shooting in 2013, a Balkan war veteran killed 13 people in a central Serbian village.
Experts, however, have repeatedly warned of the number of weapons left over in the country after the wars of the 1990s.
They also note that decades-long instability stemming from the conflicts as well as the ongoing economic hardship could trigger such outbursts.
Milan Milosevic, who said his daughter was in a history class when the shooting took place, told N1 television that he rushed out when he heard what had happened.
“I asked: ‘Where is my child?’ but no-one could tell me anything at first,” he said. “Then she called and we found out she was out.
“He (the shooter) fired first at the teacher and then the children who ducked under the desks,” Mr Milosevic quoted his daughter as saying. “She said he was a quiet boy and a good student.”
Police have sealed off the blocks around the school, in the centre of Belgrade.