The incident happened in the cafeteria at Uniondale High School just before noon Wednesday.
Authorities say 20-year-old Oscar Castaneda stabbed a 16-year-old classmate in the back and neck.
The teen was hospitalized with a punctured lung, but he is expected to make a full recovery.
There is no known motive for the attack at this time.
Castaneda is charged with first-degree assault and criminal possession of a weapon.