Mathew McKenna, of Croftwood Avenue, robbed a teenager at knifepoint, wounded a woman in the face and slashed a pensioner.
His catalogue of violence only ended after an unknown man punched him in the face then knocked him to the ground.
McKenna, 44, has previous convictions for robbery, serious assault and carrying a knife.
At the High Court in Edinburgh, judge Lord Turnbull told him: "You have a lengthy record of previous convictions which includes many offences concerning acts of violence and the possession of weapons."
Lord Turnbull told him he would have jailed him for seven years but for his guilty pleas.
Unemployed McKenna attacked and robbed his first victim, Jamie Massot, 19, as he was heading home to the South Side at Glasgow Bridge on January 26 this year.
McKenna pulled out a knife and demanded his wallet.
Later, he struck cook Caroline Weaver, 40, in the face with a knife outside the Empire Bar at Saltmarket after he was told he would not be served.
A male passerby punched McKenna in the face, but he then lashed out and struck retired Joseph McPhelim, before being punched to the ground.
Mr McPhelim and Ms Weaver were taken to hospital, where Mr McPhelim needed 20 stitches in his ear and scalp. He will be scarred for life.
McKenna pled guilty to assaulting and robbing Mr Massot, assaulting Ms Weaver to her injury and assaulting Mr McPhelim to his severe injury and permanent disfigurement.