The blast took place in a room of class IX of Ayatpur Government High School shortly after the prayer.
Of the 58 students present in the class, the 20 injured were taken to SCB Medical College and Hospital here.
All the students had suffered from temporary deafness while five of them have received bruises and burn injuries in their legs, the sources said.
"Just five minutes into the first period, we heard a loud explosion inside the class IX room on the first floor of the building," school headmistress Pravati Mohanty said.
Also Read
Splinters like nails and broken glasses were found scattered in the class room, she said.
All classes were suspended for the day after the incident and the police along with a forensic team began investigation.
"It has not yet been ascertained as to how the explosive came to the class," the sources said.
Deputy Commissioner of Police Pravin Kumar did not rule out the possibility of a criminal angle behind the incident.
The school and mass education department has ordered a departmental enquiry, official sources said adding the district inspector of schools would conduct the probe and submit a report within seven days.