The man also threw grenades into a crowded square from a rooftop before killing himself, reports say.
The attacker was named as Nordine Amrani. He was known to police for firearms offences.Eyewitness Greg Ienco: "We saw the explosions and the panic, it was quite incredible"
Earlier reports said at least two more men were involved, but officials said the attacker acted alone. Terrorism was not a cause, they added.
Amrani was jailed for 58 months in September 2008 for possessing firearms and drugs, media reports said.
Officials did not confirm this, but said they were aware he had spent some time in prison.
Weapons in a bagAmrani had been asked to come for an interview at a police station in connection with charges against him.
A resident of Liege, he left home with a rifle, a pistol and three grenades in a bag, prosecutors said.
Greg Ienco, a journalist at local newspaper La Meuse-Liège, described the scene of the attack.
"We saw four explosions. I was in a building 200m from Saint-Lambert Square," he said.
"It was quite incredible. We saw one man on the roof who tried to kill people. This man killed himself with a grenade."
Two of the three dead were teenage boys aged 15 and 17, the third a 75-year-old woman.
TV images showed blood splattered across the cobblestones of the square.
Doctors at a city hospital are trying to save the life of an 18-month-old child injured in the attack. Several others are reported to be in a serious condition.
Medical staff at a field hospital at the scene treated 52 of the injured. Some others made their own way to other hospitals.
Roads into the centre of Liege were sealed off but vehicles are now coming back into the city.
Explosives experts were called in to search the area for unexploded grenades. People were initially told to stay in buildings but are now returning to the streets.
Place Saint Lambert is a busy intersection, served by hundreds of buses daily. It hosts an annual Christmas market which attracts some 1.5 million visitors a year.
Amrani had been summoned for police questioning today but the reason for the questioning was not clear. He still had a number of grenades with him when he died.
He left his home in Liege with a backpack, armed with hand grenades, a revolver and an assault rifle.
He walked alone to the central square, then got on to a platform that gave him a view of the square below, with a huge Christmas tree and crowded with shoppers.
From there, Amrani lobbed three hand grenades towards a bus shelter, which serves 1,800 buses a day, then opened fire on the crowd. The explosions sent glass from the bus shelter across a wide area.
Witness Dimitri Degryse said: "I heard a loud boom. I thought it was something on my car that was broken or something. Then a few seconds after, a second boom, and I saw all the glass breaking, I saw people running, screaming."
As soon as the shooting began, hundreds of people fled the square, as well as a Christmas market in an adjacent square, rampaging through old city streets looking for cover.
Video from the scene showed people, including a large group of children, fleeing the city centre, some still carrying shopping bags.
As police hunted for possible accomplices, residents were ordered to stay in their homes or seek shelter in shops or public buildings.
A medical post was set up in the nearby courtyard of the Prince Bishops courthouse. Dozens of emergency vehicles took victims away for treatment.
Police closed off the area but found no accomplices and calm returned after a few hours.
The Place Saint-Lambert and the nearby Place du Marche host Liege's annual Christmas market, which consists of 200 tiny shops and attracts some 1.5 million visitors a year.
By dusk, with the Christmas lights gleaming again, King Albert II and Queen Paola came to pay their respects, as did prime minister Elio Di Rupo.
Place Saint-Lambert is a busy crossroads. Every day 1,800 buses serve the square, which leads to central shopping streets.
The Place Saint-Lambert and the nearby Place du Marche host the Liege's annual Christmas market which consists of 200 retail cabins and attracts some 1.5 million visitors a year.
Are you in Liege? Did you witness what took place? Send your experiences to the BBC using the form below.