The fight was captured on cellphone video Monday inside the lunchroom at Florin High School.
A school police officer, a school official and the principal were trying to break up the fight.
The principal was thrown to the ground during the confrontation. He and two staff members were hurt, but all are expected to be OK.
Two 15-year-olds and a 13-year-old were arrested.