"A teacher is dead," killed "by a bladed weapon," just after classes started at the Joan Fuster secondary school in the northeastern Spanish city, a police spokesperson said.
Spanish media reported the boy was armed with a knife and crossbow, but there has been no confirmation from police.
The slain teacher's students told AFP of the bloody drama they witnessed, which also left one of their classmates wounded.
They first knew something was wrong when they heard yelling in the neighbouring classroom around 9:00am.
The teacher -- who students said was a substitute -- "left to see what was happening and that was when the young man attacked him," said one student, who requested anonymity.
Moments later the suspect -- said to be aged under 14 -- went into the teacher's own classroom, attacked a girl and went back into the hallway with a knife in his hand.
Terrified students closed the classroom door and barricaded it with furniture.
The suspect was being held by police at the campus, as medics also rushed to the scene.
Two students and two teachers were slightly injured, police said in a statement, while many details of the attack remained unclear.
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ