AFC Bournemouth were left to fume away at title hopefuls Arsenal as two decisions went against them in an eventual 3-0 loss in the capital.

Bukayo Saka’s opener stemmed from a soft penalty in the first period, before the hosts doubled their lead through Leo Trossard.

Antoine Semenyo then thought he had halved the deficit but Cherries were denied by a perceived foul on Arsenal keeper David Raya.

In added time Declan Rice added further gloss to the scoreline, keeping the Gunners' title hopes alive with two games to go.

There were two changes to the side victorious at home to Brighton last time out.

Illia Zabarnyi returned from illness but fellow defender Lloyd Kelly missed out due to the same reason; meanwhile Ryan Christie was restored to the starting XI in place of Enes Unal.

Despite being stretched off in the dying embers of the Brighton win, Semenyo was fit and able to start.

Bournemouth were immediately hemmed into their own half after the first whistle sounded, deploying a low block to thwart Arsenal’s pressure as best as possible.

As such, despite the Gunners’ control of the ball there was little in the way of clear-cut chances.

In the 14th minute a foul by Alex Scott earned the midfielder a yellow, whilst also allowing the opportunity for the game to be paused and the players to join in the applause for 14-year-old Daniel Anjorin, who lost his life in the Hainault attack on Tuesday.

On the punitive front, Christie was lucky to escape punishment for catching Saka with his studs.

Zabaryni produced a few blocks to prevent speculative Arsenal efforts from approaching Mark Travers in the Cherries goal, whilst the shot-stopper himself produced saves when called upon.

Cherries looked to have made it to the half-time interval unscathed despite Arsenal’s 15 shots on goal.

But Kai Havertz’s run into the box caused panic; goalkeeper Mark Travers spreading himself to thwart the German.

That allowed the former Chelsea man to slyly trail a leg, catching Travers and winning his side a penalty.

Travers was unable to redeem himself at the spot-kick, Saka waiting until the Irishman had made his move before rolling the ball in the other direction.

Shortly after the break, Travers would be more than a match for Saka.

Cherries’ attempts to construct from the back were hampered by Arsenal, Havertz turning the ball over before slipping in Saka.

The England international steered the ball towards the far corner, but Travers arrived to push the effort away from goal.

It was a much more positive display in the second half from Cherries.

Dominic Solanke was released into the area one-on-one with Raya; the striker only able to hit the midriff of the goalkeeper.

Semenyo’s effort was then blocked on the edge of the area; the loose ball falling to Kluivert who lashed just the wrong side of the post with a powerful long-range effort.

The away side looked a threat on the break, which combined with Arsenal’s own attacking prowess led to an end-to-end game.

Rice managed to master a bobbling ball, pulling it back for Trossard to wrap a foot around and curl past Travers to double Arsenal’s lead.

Cherries thought they had found a way back into the game minutes later.

A cross into the box caused chaos; bodies strewn all over the box as Arsenal goalie Raya got an unconvincing fist to the ball.

The clearance only went out to the edge of the area, Christie letting fly and hitting the bar before Semenyo tucked home the rebound.

However, Coote blew up for a free kick for a supposed foul by Solanke on Raya, a VAR check eventually deciding that the slightest of nudges merited punishment.

A decision would go their way when Arsenal had a third goal ruled out for a clear offside; Havertz in an offside position as he nodded the ball down for Gabriel to smash home.

Despite eight additional minutes at the introduction of Unal in place of defender Senesi, Cherries were unable to properly test their hosts again.

In fact, it would be Arsenal who scored the game's final goal, Rice finding space inside the area before firing past Travers.

Arsenal: Raya; White, Saliba, Gabriel, Tomiyasu; Rice, Partey, Odegaard; Saka (Jesus, 86), Trossard (Martinelli, 81), Havertz.

Unused subs: Kiwior, Zinchenko, Vieira, Jorginho, Smith-Rowe, Nketiah, Ramsdale (g/k).

Booked: Partey, Havertz.

Cherries: Travers; Smith (Aarons, 90), Zabarnyi, Senesi (Unal, 80), Ouattara; Christie, Cook, Scott (Billing, 72); Kluivert (Favire, 90), Semenyo, Solanke.

Unused subs: Hill, Kinsey, Sadi, McKenna (g/k), Neto (g/k).

Booked: Scott, Smith, Christie.