A truck drove into a crowd on a shopping street and crashed into a department store in central Stockholm on Friday, killing three people and wounding eight in what the prime minister said appeared to be a terrorist attack.
Part of central Stockholm was cordoned off and the area was evacuated, including the main train station. All subway traffic was halted on orders from the police.
"Sweden has been attacked. Everything points to the fact that this is a terrorist attack," Prime Minister Stefan Lofven told reporters during a visit in western Sweden. He was immediately returning to the capital.
Many police and emergency services personnel were at the scene, a Reuters witness said.
Nobody has been arrested in connection with the attack police said. There was no immediate claim of responsibility.
Several attacks in which trucks or cars have driven into crowds have taken place in Europe in the past year. Al Qaeda in 2010 urged its followers to use trucks as a weapon.
In London on March 22, a man in a car ploughed into pedestrians on Westminster Bridge, killing four, and then stabbed a policeman to death before being shot by police.
Islamic State claimed responsibility for both an attack in Nice, France, last July, when a truck killed 86 people celebrating Bastille Day, and one in Berlin in December, when a truck smashed through a Christmas market, killing 12 people.
A government source told Reuters all Swedish government offices had been closed. All ministers were safe, the source said.
"We were standing by the traffic lights at Drottninggatan (Queen Street) and then we heard some screaming and saw a truck coming," a witness, who declined to be named, told Reuters.
"Then it drove into a pillar at Ahlens City (department store) where the hood started burning. When it stopped we saw a man lying under the tire. It was terrible to see," said the man, who saw the incident from inside his car.
Radio Sweden reporter Martin Svenningsen said he saw three dead people "but probably more". A Reuters witness saw a number of body-like forms covered by blankets at the scene.
Police confirmed three deaths and eight people injured.
King Carl Gustaf, Sweden's head of state, expressed his horror at the attcak.
"Our thoughts are going out to those that were affected, and to their families," he said in a statement from the royal palace.
In Brussels, the European Union offered Sweden support and solidarity.
"An attack on any of our member states is an attack on us all," said EU chief executive Jean-Claude Juncker. "One of Europe's most vibrant and colourful cities appears to have been struck by those wishing it – and our very way of life – harm.