A schoolboy armed with a shotgun opened fire and wounded two fellow students before killing himself, the latest US mass shooting on the eve of the Newtown school massacre anniversary.
The shooter also set off a Molotov cocktail in the attack at Arapahoe High School in Colorado, a few miles from the sites of last year's Aurora cinema shooting and the 1999 Columbine bloodbath, police said.
Hundreds of fellow students locked themselves into classrooms as the shooter stormed into the school brandishing a shotgun, shouting that he was looking for a particular teacher in what police said was apparently a planned "revenge" attack.
America's perennial debate about gun control is back in the headlines ahead of Saturday's anniversary of last year's Newtown, Connecticut, shooting that killed 26 people, including 20 young children.
In Friday's incident, students locked themselves in classrooms after shots rang out shortly after 12:30 pm local time, triggering an all-too-familiar police operation.
Live television footage showed lines of students filing out of the school with hands above their heads, gathering on an athletics track on the edge of a snow-covered field.
Arapahoe County Sheriff Grayson Robinson said the shooter -- who entered the school via a normal entrance after arriving by car with a shotgun -- injured two students, including a 15-year-old girl who underwent surgery and was listed in "critical condition."
Initial enquiries suggested that the "shooting was the result of revenge on the part of the shooter because of ... a disagreement (with) the teacher that the shooter was looking for," he said.
"It was clear that he was armed with a shotgun. He made no effort to hide it or conceal it," according to Robinson who added that no warning was given before the attack.
Two Molotov cocktails were found, one of which was detonated and caused "a significant amount of smoke" as deputies arrived, he added.
Less than five minutes after the initial alert, the suspected gunman was "found inside the school ... deceased as a result of what appears to be a self-inflicted gunshot wound," he added.
Robinson later identified the shooter to US media as Karl Pierson, 18.
One student described how he and his 25 or so classmates locked themselves in when the incident started as they sat in English class.
"We didn't really know if it was a gunshot," Colton Powers told local KDVR television. "We turned off the lights and locked the door, so he couldn't go in."
"A couple of people were crying," he said, adding they did not come out until a police SWAT team arrived. He said students believed the gunman's target was a school librarian.
His mother fought back tears as she described frantically trying to get in touch with him.
"It's hard to see this happening again. You don't want this on the national news again," she said. "It's the last thing you want to go through, especially here."
The school has more than 2,200 students and 70 classrooms. It is part of the Littleton school district, to which Columbine High School -- scene of the 1999 shooting by two students in which 13 were killed -- also belongs.
The incident came a day ahead of the first anniversary of the Newtown shooting in which Adam Lanza gunned down 20 young children and six adults at Sandy Hook Elementary School.
A group representing parents of those victims voiced shock at the new shooting.
"We were horrified to hear today of a school shooting at Arapahoe High School in Colorado, just one day before the one year mark of the Sandy Hook shootings," said Tim Makris, executive director of Sandy Hook Promise.
The Newtown shooting briefly reignited the US gun control debate, triggered every time there is a major shooting, but attempts to pass tougher laws have made little headway in Congress.
"Tragically, this shooting marks the 25th school shooting in the one year since December 14. Our hearts are with all the families of Arapahoe High School today," said Makris.
"It's time to start a new conversation to protect our children."