Emergency services were called to Glenwood High School about 1.15pm and found a 16-year-old student with multiple stab wounds to his stomach.
An argument broke out at lunchtime and police will allege the younger boy pulled out an ornamental-style knife and stabbed the 16-year-old twice in the stomach.
The school went into lockdown students told to stay inside.
An ambulance was called, and he was taken to hospital with non-life-threatening wounds.
He is in a stable condition, undergoing treatment at Westmead Hospital.
The 14-year-old was charged with wounding with intent and will face court tomorrow.