The 19-year-old Swedish midfielder netted the winner with a late header after Unai Nuñez and Jorgen Strand Larsen gave Celta a 2-0 lead before halftime. Sergio Akieme and Sergio Arribas equalized for the hosts in the second half.
Rafa Benítez's Celta entered the fourth round coming off two losses and a draw.
Almeria remained winless and picked up its third loss in four matches. It stayed second-to-last and in danger of dropping to the bottom of the standings at the weekend.
It was the third loss in four matches for Villarreal, which played a man down from the 22nd because Alfonso Pedraza was sent off.
Villarreal coach Quique Setién was also sent off, and Sorloth had to be replaced because of an injury in the 27th.
AP soccer: https://apnews.com/hub/soccer
The Associated Press