A man grabbed a knife from a grocery store before racing out and stabbing two people on a city centre street.
Jordan Moore attacked two men after chasing them on Glasgow’s Sauchiehall Street last July.
The 20-year-old repeatedly knifed one of the men after pinning against a metal fence and struck the other on the buttock and groin.
A judge heard how both victims, aged 20 and 19-years-old, were left badly hurt with one ending up in intensive care.
Moore pled guilty at the High Court in Glasgow on Monday to assaulting the pair to their severe injury and permanent disfigurement as well as to the danger of the 20-year-old’s life.
He was remanded in custody pending sentencing next month.
Prosecutor Blair Speed told how the victims had been out at the city’s Driftwood pub before a “chance encounter” with Moore and a female friend in a taxi queue.
Mr Speed said: “At points, the two men step into the personal space of Moore and the friend in an attempt to be friendly, but they are evidently displeased.”
Moore eventually stormed off and headed to a nearby store.
Mr Speed went on: “He immediately made his way to the back of the shop where he selected a knife which he unpackaged.
“He then ran out the shop shouting: ‘Come on then’.”
The thug went after the men before attacking them with the blade.
Police were alerted and discovered a wounded victim lying on the pavement outside Driftwood.
The pair were soon rushed to hospital with one suffering a “severe” stomach injury, which required surgery.
Mr Speed: “If left untreated, it could have been fatal due to infection.”
The other victim needed a blood transfusion.
Following a media appeal, Moore was arrested on August 1 while in St John’s Hospital in Livingston, West Lothian.
He claimed: “I was in fear of my life.”
The court heard the eight-inch knife had earlier been found by a police in a garden of a house near to where the attacks happened.
Moore, now of Hackney, London, already had previous convictions for violence.
Lord Burns deferred sentencing for reports until December 13 in Aberdeen.