Emergency services were alerted to blaze at the Grade II listed Easingon Primary School, Easington Colliery, County Durham, at 1.30am today.
A spokesman for the County Durham and Darlington Fire and Rescue Service said two appliances from Peterlee Fire Station attended the scene and soon called for reinforcements.
Two more appliances from Seaham Fire Station were dispatched and six firefighters wearing breathing apparatus entered the building to extinguish the blaze, which had broken out in a first-floor classroom.
The classroom was extensively damaged, while the rest of the building was smoke damaged.
Eye witness Jonny Hogg said: "I was walking past the school when I saw smoke coming out of a boarded up window and went home to call fire brigade - but then heard sirens coming.
"The firemen broke open a ground floor door and entered. There were flames pouring out of a first floor window.
"If they had not arrived quicker the whole place would have gone up."
Fire brigade spokesman said "There was no obvious accidental cause to the fire. We have requested a joint investigation be carried out with the police."
A Government ruling to save the landmark building by listing it was met with dismay by residents who view it as an eyesore.
The school, which dominates Seaside Lane, was built in 1911.
Westnew Developments, which bought the premises in 2003, had applied for planning permission to replace it with 39 residential units.
But following opposition from English Heritage, The Victorian Society and regeneration charity application went to public inquiry - resulting in a ruling in 2007 that the building must not be demolished.
Anyone with information about the fire should contact the police on 101.
Comments: Our rules
We want our comments to be a lively and valuable part of our community - a place where readers can debate and engage with the most important local issues. The ability to comment on our stories is a privilege, not a right, however, and that privilege may be withdrawn if it is abused or misused.
Please report any comments that break our rules.
Read the rules here