Under sunny spring skies, crowds thronged the Sergels Torg plaza, a stone's throw from where a stolen truck mowed down strolling shoppers before slamming into the facade of the bustling Åhlens department store on Friday afternoon.
A carpet of flowers, candles and stuffed toys left by mourning Swedes decorated the steps to the plaza.
"I think it's very important to stay strong together against anything that wants to change our society, which is based on democracy," said Marianne, who gave only her first name and came with her elderly mother.
"We talk, we don't fight," she said.
The suspected driver, who was arrested hours after the attack, has been identified only as a 39-year-old man from Uzbekistan who had shown interest in extremist groups and who was facing deportation after his residency permit application was denied, police said.
On Sunday politicians addressed the crowds, numbering over 20,000 according to city officials, while Swedish artists performed as people held up their arms and made peace signs with their fingers.
"Stockholm is our city, a city we are proud of, where we like to be. Fear shall not reign. Terror cannot win," Stockholm mayor Karin Wanngard said.
"Instead, we shall think of the kindness and openness that characterises our city. That is what we're going to build on," she said, praising a city "characterised by openness and tolerance".
"And if we do that, then terrorism will have lost."
Linking arms, under flags flying at half-mast, the crowd held a minute of silence to honour the victims.
Photo: Jessica Gow/TT
"We won't let fear affect our goal to be the world's best country," said the organiser of the event, Damon Rasti.
"When the storm hits, we hold each other by the hand and don't let anyone or anything change us for the worse."
A woman handed out roses to two police officers guarding the square: "thank you", she said and smiled.
Photo: Maja Suslin/TT
Another woman in the crowd wearing a headscarf held a sign reading: "We don't respond with fear, we respond with love."