Police identified the man as 28-year-old Bulgarian Deyan Valentinov D. with only an initial instead of his surname.
They said he launched his knife attack on the victim in a Chinese general goods store.
"The attack culminated with the decapitation of the victim," Canary Islands police said in a statement.
"The attacker left the establishment with the head in his hand and then threw it to the pavement."
The victim was a 60-year-old British woman shopping in the market in the tourist spot of Los Cristianos beach in Arona on the southern side of Tenerife, part of the Canary Islands, police said.
She had no relation to the attacker.
Police said they arrested the man as he was struggling with a security guard and trying to escape.
"A man came running up with something full of blood in his hand and a private security guard behind him, and he threw it on the ground and it almost hit me," a witness named only as Bernardo told Cadena Ser radio.
"What he had in his hand was a head."
Britain's foreign ministry says it is "aware of the reports of the death of a British national in Tenerife" and is seeking more information.
The knifeman, who reportedly had a previous record for causing bodily injury, struck at 10.30am (local time) in the store.
Freelance writer Colin Kirby was walking past the Chinese shop when he saw a big crowd and an ambulance.
"I assumed someone had fainted or something," he said in a video interview with British expatriate news site Tenerife Magazine
"I walked on a bit, turned around, there were people shouting. There was a hispanic looking guy, very scruffy, walking behind me muttering to himself, carrying what I thought was a joke head by the hair with blood."
Further on, Chinese residents began to run towards the store and security guards chased the attacker across the street where members of the public forced him to the ground, he said.
When security and police arrived they had to hold people off to prevent them beating the suspect, he said.
Tenerife is home to around one million residents and one of Spain's most popular tourist destinations.