Tour de France points classification winner Bennett lived up to his favourite tag by seemingly powering to victory in Thursday's 157.7km leg from Castrillo del Val to Aguilar de Campoo.
However, his celebrations at what would have been the Irishman's second stage win of this year's event, were cut short as race organisers ruled Bennett was overly aggressive in the way he shoulder charged Emils Liepins.
Bora-Hansgrohe rider Ackermann started his sprint at the same time as Bennett but ultimately had less power and speed than his opponent, though in the end it was he who came out on top following a post-race review of the Liepins incident.
Jasper Philipsen tried to find a way between the pair but could not do so, the UAE Team Emirates rider finishing fifth behind Gerben Thijssen and Max Kanter, only to be pushed up by Bennett's disqualification.
"When I saw the video, it wasn't a fair action from him," Ackermann said. "I think, after all the crashes in the last week, we have to take care of the other guys.
"If there is no hole, we have to stop. I feel sorry for Sam, but they took me out in Scheldeprijs and now we have to ride more fair.
"I'm really happy about this victory and also for my team - they did an awesome job today, all from the front and I'm happy to give something back to them."
There was no substantial movement in terms of the General Classification as Richard Carapaz finished safely in the peloton, despite needing a bicycle change with 13km to go.
The overall race leader retains a 13-second gap on reigning champion Primoz Roglic, who dragged himself back into contention with an impressive victory on stage eight.
STAGE RESULT
1. Pascal Ackermann (Bora-Hansgrohe) 03:39:55
2. Gerben Thijssen (Lotto–Soudal) same time
3. Max Kanter (Team Sunweb) same time
4. Jasper Philipsen (UAE Team Emirates) same time
5. Jakub Mareczko (CCC Team) same time
CLASSIFICATION STANDINGS
General Classification
1. Richard Carapaz (INEOS Grenadiers) 36:11:01
2. Primoz Roglic (Jumbo-Visma) +00:13
3. Dan Martin (Israel Start-Up Nation) +00:28
Points Classification
1. Primoz Roglic (Jumbo-Visma) 104
2. Richard Carapaz (INEOS Grenadiers) 81
3. Dan Martin (Israel Start-Up Nation) 73
King of the Mountains
1. Guillaume Martin (Cofidis) 27
2. Sepp Kuss (Jumbo-Visma) 24
3. Richard Carapaz (INEOS Grenadiers) 24
What's next?
Friday sees the riders make the 185km journey from Castro Urdiales to Suances, a predominantly flat stage that includes a category three climb towards the end.
In the second of three stages held in the Netherlands, the Irishman justified his selection for BORA-Hansgrohe by refinding his form in Utrecht.
Bennett has endured a difficult season, having been left out of the Tour de France for a second straight year, but capitalised on the lead-out qualities of team-mates Ryan Mullen and Danny van Poppel.
"Danny brought me up with speed, then he was kind of ready for me to jump, but I waited a second, and I didn't know if I'd let my speed drop too much, and I was nervous I wouldn't get on top of the speed again," Bennett said.
"Danny didn't deliver me; he launched me. It was down to the boys today.
"It's nice. I knew I'd do it again, it was just a matter of getting the right legs. What I'm really happy about is continuing my pattern of winning at least one stage in every Grand Tour I've done since 2018."
Mads Pederson came in second, having been unable to sustain an early attack, with Tim Merlier finishing third.
Jumbo-Visma dominate the general classification standings, with Mike Teunissen, who crossed in fourth place, taking the leader's jersey from team-mate Robert Gesink.
Three-time reigning champion Primoz Roglic shares that lead.
More Vuelta joy for Bennett
Bennett has now won nine stages in GTs, with four of those coming at La Vuelta. That makes the race his favourite of the big three, with the 31-year-old having won three at the Giro d'Italia and two at the Tour de France.
STAGE RESULT
1. Sam Bennett (BORA-Hansgrohe) 3:49:34
2. Mads Pederson (Trek-Segafredo) same time
3. Tim Merlier (Alpecin-Deceuninck) same time
4. Mike Teunissen (Jumbo-Visma) same time
5. Pascal Ackermann (UAE Team Emirates) same time
CLASSIFICATION STANDINGS
General Classification
1. Mike Teunissen (Jumbo-Visma) 4:14:14
2. Edoardo Affini (Jumbo-Visma) same time
3. Sam Oomen (Jumbo-Visma) same time
Points Classification
1. Sam Bennett (BORA-Hansgrohe) 50
2. Mads Pederson (Trek-Segafredo) 50
3. Pascal Ackermann (UAE Team Emirates) 26
King of the Mountains
1. Julius van den Berg (EF Education-EasyPost) 2
2. Thibault Guernalec (Arkea-Samsic) 1
The 31-year-old Irishman claimed victory on Saturday amid a mass sprint in Utrecht, and backed up his points classification credentials with a second Grand Tour stage in as many days in Breda.
As the Vuelta packs up to make the transfer to Spain following its start in the Netherlands, it means Bennett – left out of the Tour de France for a second successive year – leads the points standings.
With such a strong performance to date, the BORA-hansgrohe rider is not ruling out a sustained push for the green jersey, but Bennett acknowledges the riders have barely scratched the surface of this year's race.
"There is a long way to go [and] anything can happen," Bennett said, quoted by Cycling News. "But we want the sprint jersey and we will start to commit more to look at points.
"We have two stages now, so we can make bigger decisions on when to take points and when to leave them. Hopefully we can compete for the green – that would be really nice."
Mads Pedersen nabbed second for the second day in a row, while Briton Dan McLay improved his day-by-day performance from sixth to third.
The race will resume on Tuesday, starting from Vitoria-Gasteiz in the Basque Country, with Edoardo Affini leading a top-six lockout for Jumbo-Visma in the general classification standings.
Affini is tied on the clock with three-time reigning champion Primoz Roglic, plus Sam Oomen, Sepp Kuss, Mike Teunissen and Robert Gesink.
STAGE RESULT
1. Sam Bennett (BORA-Hansgrohe) 4:05:53
2. Mads Pedersen (Trek-Segafredo) same time
3. Dan McLay (Arkea-Samsic) same time
4. Bryan Coquard (Cofidis) same time
5. Fabian Lienhard (Groupama-FDJ) same time
CLASSIFICATION STANDINGS
General Classification
1. Edoardo Affini (Jumbo-Visma) 8:20:07
2. Sam Oomen (Jumbo-Visma) same time
3. Primoz Roglic (Jumbo-Visma) same time
Points Classification
1. Sam Bennett (BORA-hansgrohe) 117
2. Mads Pedersen (Trek-Segafredo) 80
3. Pascal Ackermann (UAE Team Emirates) 34
King of the Mountains
1. Julius van den Berg (EF Education-EasyPost) 3
2. Thomas De Gendt (Lotto-Soudal) 2
3. Thibault Guernalec (Arkea-Samsic) 1