Bennett, who rides for the BORA-hansgrohe team, surprised the other front-runners with a powerful attack with a few hundred meters left. It was Bennett's second win of this Vuelta after also claiming the third stage.
Maximiliano Richeze crossed second two seconds later, in front of Tosh Van der Sande in third. "I didn't want to wait too long and took a run at the two of them," Bennett said. "I looked at 300 meters to go and thought it looked too far. I am just delighted."
Roglic maintained his advantage of 2 minutes, 25 seconds over Alejandro Valverde in the overall standings. Tadej Pogacar was third at 3:01 back, followed by Miguel Ángel López at 3:37, and Nairo Quintana at 5:21.
Valverde was involved in the massive crash but was able to slow down before hitting the road. "I don't think it will have any consequences. My wrist bothers me a bit, but it's nothing," Valverde said. "You could see it coming. It was an arrival on a slight uphill, there were breaks in the group, and everyone wanted to be there."
Pogacar also had cuts on his elbow and leg but seemed unfazed. Luka Mezgec was not as fortunate. He was put on a stretcher and placed in an ambulance to be treated by doctors, said his Michelton-Scott team.
A small breakaway group of four riders was caught by the peloton with over four kilometers remaining of the 188-kilometer (116-mile) ride from San Vicente de la Barquera to Oviedo. Bennett completed the course along Spain's northern coast in 4 1/2 hours.
On Sunday, the race returns to the mountains as riders face a 155-kilometer (96-mile) stage from Tineo to Santuario del Acebo with four category-one climbs. That will be followed by another demanding mountain ride on Monday.
The three-week race ends in Madrid on Sept. 15.
More AP sports: https://apnews.com/apf-sports and https://twitter.com/AP_Sports