At least 13 people have died and 50 were injured after a van ploughed into crowds in Barcelona's famous Las Ramblas tourist area, police and local officials say.
The vehicle sped along the pedestrian area, mowing down people and sending others fleeing for cover. Police are treating the incident as terrorism.
Later they said a man had been arrested in connection with the attack.
Witnesses said the van had deliberately targeted people before stopping.
Spanish media reports said the driver of the vehicle - a white Fiat that had been rented in the city - had fled on foot.
But police denied earlier reports of two suspected attackers being holed up in a bar in the city centre.
Local authorities in the small town of Vic in Catalonia say police have cordoned off the area and are inspecting another van amid suggestions it may have been used as a getaway vehicle.
Meanwhile police released a photo of a man named as Driss Oubakir, who is alleged to have rented the van used to drive into pedestrians.
Local media say he is in his 20s, and was born in Morocco.
The attack happened at the height of the season in one of Europe's top tourist destinations.
Vehicles have been used to ram into crowds in a series of attacks across Europe since July last year.
Tom Markwell from New Orleans, who was just arriving in a taxi in Las Ramblas, said: "I heard a crowd screaming. It sounded like they were screaming for a movie star.
"I saw the van. It had already been busted on the front. It was weaving left and right, trying to hit people as fast as possible. There were people lying on the ground."
Aamer Anwar said he was walking down Las Ramblas, which was "jam-packed" with tourists.
"All of a sudden, I just sort of heard a crashing noise and the whole street just started to run, screaming. I saw a woman right next to me screaming for her kids," he told Sky News.
"Police were very, very quickly there, police officers with guns, batons, everywhere. Then the whole street started getting pushed back.
"Police officers who got there just started screaming at people to move back, move back."
Kevin Kwast, who is on holiday in Barcelona with his family, said: "I was eating with my family in La Boqueria market very near where the crash occurred.
"Hundreds of people started stampeding through the market... we started running with them going outside right into where casualties were already on the ground.
"Police pushed us into a money transfer shop and we've been sheltering there for over an hour."
How have politicians reacted?
Spanish Prime Minister Mariano Rajoy said he was in contact with authorities, and the priority was to attend to the injured.
The United States has offered its assistance to Spain.
Secretary of State Rex Tillerson said consular assistance was being provided to Americans in the city, and urged US nationals to check in with their families.
"Terrorists around the world should know the United States and our allies are resolved to find you and bring you to justice," he told reporters.
UK Prime Minister Theresa May said her thoughts were with the victims, adding that "the UK stands with Spain against terror".
- Central boulevard that runs 1.2km (0.75 miles) through the centre of Barcelona
- Runs from the city's Plaça de Catalunya (Catalonia Square) to the Christopher Columbus monument at the seafront.
- Popular with tourists because of its market stalls, bars and restaurants
- Barcelona city council restricted traffic flow because of heavy pedestrian use of the street
Deadly vehicle attacks
- Charlottesville, Virginia, 12 August 2017: James Fields charged with murder after allegedly driving into protesters
- Paris, 9 August 2017: A man rammed a BMW into a group of soldiers, injuring six.
- London, 3 June 2017: Eight people died when three jihadists drove a van into pedestrians on London Bridge and then stabbed passers-by. A man was killed later in June in a van attack on Muslims in Finsbury Park.
- London, 22 March 2017: Four people died when a car rammed into pedestrians on Westminster Bridge, and the driver then stabbed to death a policeman
- Stockholm, Sweden, 7 April 2017: Uzbek Rakhmat Akilov killed four people when he drove a lorry into a department store.
- Berlin, Germany, 19 December 2016: Tunisian Anis Amri ploughed a truck into a Christmas market at Breitscheidplatz, killing 12 people
- Nice, France, 14 July 2016: Tunisian Mohamed Lahouaiej-Bouhlel drove a truck into crowds on the Promenade des Anglais, killing 86 people on Bastille Day
- France, December 2014: A van was driven into a Christmas market in Nantes and a car rammed pedestrians in Dijon, leaving more than 20 wounded.