The shooting happened as classes were starting for the day. A statement from the state police said authorities responded at 8:11 a.m.
Odiee Carranza, an eighth grade student, told the Associated Press that she saw the suspect pull the gun out of a band instrument case and begin shooting. She said he shot a boy twice in the face and a girl in the arm.
According to New Mexico Gov. Susana Martinez, it was a teacher at Berrendo Middle School who pleaded with the suspect to put the gun down. The seventh grader complied and was soon taken into custody. His name has not been released.
Martinez said an 11-year-old male victim had undergone surgery but was still in critical condition. Information from nurses treating the boy at University Medical Center in Lubbock, Texas, indicates he was the shooter's target, hospital spokesman Eric Finley said.
A 13-year-old female victim remained in serious condition Tuesday afternoon. A staff member received very minor injuries and declined medical care because he wanted to stay and help.
Two prayer services were scheduled for Tuesday night at Roswell's Calvary Baptist and First Baptist churches.
The Associated Press contributed to this report.