A 14-year-old boy shot his teacher in a Belgrade classroom on Wednesday morning before opening fire on other students and security guards, killing eight pupils and a security guard, Serbia's interior ministry said.
Milan Milosevic, the father of one of the pupils at the Vladislav Ribnikar elementary school, said his daughter was in the class where the gun was fired.
"She managed to escape. (The boy) ...first shot the teacher and then he started shooting randomly," Milosevic told broadcaster N1.
Milan Nedeljkovic, mayor of the central Vracar district where the school is located, said doctors were fighting to save the teacher's life.
The interior ministry statement said eight children and a security guard had been killed and six children had been hospitalised along with the teacher.
Police said a seventh-grade student had been arrested.
"I saw the security guard lying under the table. I saw two girls with blood on their shirts. They say he (the shooter) was quiet and a good pupil. He recently joined their class," added Milosevic, who had rushed to the school after the shooting.
Officers in helmets and bulletproof vests cordoned off the area around the school.
"I saw kids running out from the school, screaming. Parents came, they were in panic. Later I heard three shots," a girl who attends a high school adjacent to Vladislav Ribnikar told state TV RTS.
Casualties are being treated and an investigation into the motives behind shooting is under way, police said in a statement.
Mass shootings are comparatively rare in Serbia, which has very strict gun laws. But the western Balkans are awash with hundreds of thousands of illegal weapons following wars and unrest in the 1990s.
Serbian authorities have issued several amnesties for owners to hand in or register illegal guns.


Iran calls US peace proposals 'unrealistic', Trump issues new warning to Tehran
Spain closes airspace to US planes involved in Iran war, defence minister says
Trump again warns Iran to open Strait of Hormuz
Israeli fire kills six in Gaza and the West Bank, medics say
Spain closes airspace to US planes involved in Iran war, El Pais says
UN peacekeeper killed in southern Lebanon after projectile explosion
Iranian attack kills one in Kuwait, damages distillation plant
Iran accuses US of ground assault plans as Pakistan hosts regional talks
