Kai Havertz scored the winner for Arsenal in the 89th minute, despite VAR recommending it be ruled out
To be crowned champions, the Gunners needed to beat the Toffees and hope City failed to win against West Ham.
Arsenal suffered a setback when Idrissa Gueye's deflected free-kick put Everton in front, although Takehiro Tomiyasu equalised three minutes later.
While Arsenal did eventually hold up their end of the bargain with Kai Havertz's late winner, ultimately City's victory over West Ham took matters out of their hands.
Phil Foden's early double for City at Etihad Stadium effectively ended the lingering hopes Arsenal had of a first title in 20 years.
The Gunners were further frustrated as Everton took the lead in north London despite the home side's dominance.
After Thomas Partey fouled Dwight McNeil 25 yards out, Gueye's free-kick took a huge deflection off the forehead of Declan Rice and flew into the net past the wrong-footed David Raya.
Arsenal responded quickly, Tomiyasu equalising with a fine low finish from the edge of the area following a pull-back from Martin Odegaard.
Havertz and Emile Smith Rowe both struck the woodwork in the second half, as belief visibly drained at the end of a long, losing battle for silverware.
Arsenal did find the winner, however, although it came in controversial circumstances.
After Havertz tucked the ball in from close range, the video assistant referee recommended that the goal should be disallowed for a Gabriel Jesus handball in the build-up.
But after reviewing the footage at the side of the pitch, referee Michael Oliver allowed the goal.
-- Courtesy of BBC Sport