The incident happened at Erasmus High School in Flatbush.
Police say the teenagers were playing basketball in the gym during lunch when they got into an argument.
The 15-year-old victim, identified as Alfredo Allen, underwent surgery and is listed in critical condition.
The suspect, 16-year-old Chevoy Nelson, is facing numerous charges.
Get Eyewitness News Delivered