Mame Biram Diouf's first Stoke City goal gave Mark Hughes' side an historic 1-0 victory over Barclays Premier League champions Manchester City at the Etihad Stadium.
Stoke had failed to pick up a point in any of their previous six trips to the Etihad Stadium since returning to the top flight, but ended the home side's winning start to the Barclays Premier League on Saturday.
Having soaked up what the hosts had to throw at them, Stoke took the lead courtesy of Diouf's virtuoso run and finish shortly before the hour.
The former Manchester United man broke away in stunning fashion before beating Fernandinho and Joe Hart to open the scoring.
Stoke's first goal against Man City since September 2012 proved crucial as Hughes' men breathed life into their season against one of the Welshman's former clubs.
Man City manager Manuel Pellegrini also saw midfielder Fernando taken off with an apparent groin problem.
The hosts were given an early scare when Sergio Aguero collided with Ryan Shawcross, although the Argentinean striker was quickly back in action after receiving treatment.
Aleksandar Kolarov then connected with David Silva's cross and saw his header drift marginally off target before Steven N'Zonzi shot high and wide to conclude Stoke's first dangerous foray forward.
Stoke gradually grew into the game and were denied a penalty 18 minutes in when Diouf went down in the area after evading Kolarov.
Pellegrini then replaced the injured Fernando with Fernandinho, before Yaya Toure clipped the crossbar with the final effort of the opening half.
Diouf was again left frustrated when Mason denied him a penalty early in the second period, while Samir Nasri saw a shot deflected wide after good interplay between the Frenchman and Silva.
As in the first half, Stoke's deep and resolute backline proved difficult for the home side to break down.
A curled effort from Toure was beaten away by Begovic, before the lively Diouf gained reward in the 58th minute when he surged forward from inside his own half and nudged the ball past Fernandinho.
Having burst into the area, Diouf tucked the ball past Hart - who will perhaps feel he should have done better - and opened his account for Stoke.
While the home side rallied, it was Stoke who had the better chances to extend their lead as Diouf came close to connecting with Peter Odemwingie's cross and Peter Crouch headed wide.
Man City had a late shout for a spot-kick turned down when Erik Pieters tangled with Toure but Mason again opted to wave play on and Stoke secured three hard-earned points.
Manchester City manager Manuel Pellegrini: "It's a surprising defeat because we don't expect to lose against Stoke but these games sometimes happen. We tried from everywhere and really we are not very creative we did not find the space and that is credit to Stoke. The Yaya Toure penalty appeal was just one play during the game. I am more worried about the goal they scored because it was too easy."
Stoke City manager Mark Hughes: "We've done well in games against City since I've been at the club. We've played them three times home and away and they have only scored once. We know we can frustrate them and make it difficult for them.
"This year we want to do as well or better (than last season). The idea when I came was to be consistent in the top 10 and that's not easy. If we can be consistently in the top half we can all be congratulated for a job well done."
|04 Oct 2014||v Aston Villa (A)|
|27 Sep 2014||v Hull (A)|
|13 Sep 2014||v Arsenal (A)|
|21 Sep 2014||v Chelsea (H)|
|18 Oct 2014||v Spurs (H)|
|18 Apr 2015||v West Ham (H)|
|30 Nov 2014||v Southampton (A)|
|28 Feb 2015||v Liverpool (A)|
|21 Feb 2015||v Newcastle (H)|
|01 Jan 2015||v Sunderland (H)|
|22 Nov 2014||v Swansea (H)|
|28 Dec 2014||v Burnley (H)|
|04 Mar 2015||v Leicester (H)|
|25 Apr 2015||v Aston Villa (H)|
|11 Feb 2015||v Stoke (A)|
|14 Mar 2015||v Burnley (A)|
|02 May 2015||v Spurs (A)|
|08 Nov 2014||v QPR (A)|
|26 Dec 2014||v West Brom (A)|
|07 Feb 2015||v Hull (H)|
|09 May 2015||v QPR (H)|
|25 Oct 2014||v West Ham (A)|
|21 Mar 2015||v West Brom (H)|
|31 Jan 2015||v Chelsea (A)|
|20 Dec 2014||v Crystal Palace (H)|
|16 May 2015||v Swansea (A)|
|02 Nov 2014||v Man Utd (H)|
|17 Jan 2015||v Arsenal (H)|
|04 Apr 2015||v Crystal Palace (A)|
|13 Dec 2014||v Leicester (A)|
|06 Dec 2014||v Everton (H)|
|24 May 2015||v Southampton (H)|
|11 Apr 2015||v Man Utd (A)|
|10 Jan 2015||v Everton (A)|
|03 Dec 2014||v Sunderland (A)|
|29 Sep 2014||v Newcastle (H)|
|19 Oct 2014||v Swansea (H)|
|13 Sep 2014||v Leicester (H)|
|20 Sep 2014||v QPR (A)|
|04 Oct 2014||v Sunderland (A)|
|28 Feb 2015||v Hull (H)|
|29 Nov 2014||v Liverpool (A)|
|22 Nov 2014||v Burnley (H)|
|18 Apr 2015||v Southampton (H)|
|21 Feb 2015||v Aston Villa (A)|
|28 Dec 2014||v West Brom (H)|
|11 Feb 2015||v Man City (H)|
|25 Apr 2015||v Sunderland (H)|
|09 Nov 2014||v Spurs (A)|
|26 Dec 2014||v Everton (A)|
|02 May 2015||v Swansea (A)|
|04 Mar 2015||v Everton (H)|
|07 Feb 2015||v Newcastle (A)|
|22 Dec 2014||v Chelsea (H)|
|14 Mar 2015||v West Brom (A)|
|21 Mar 2015||v Crystal Palace (H)|
|09 May 2015||v Spurs (H)|
|31 Jan 2015||v QPR (H)|
|16 May 2015||v Burnley (A)|
|01 Nov 2014||v West Ham (H)|
|17 Jan 2015||v Leicester (A)|
|13 Dec 2014||v Crystal Palace (A)|
|04 Apr 2015||v Chelsea (A)|
|24 May 2015||v Liverpool (H)|
|06 Dec 2014||v Arsenal (H)|
|02 Dec 2014||v Man Utd (A)|
|25 Oct 2014||v Southampton (A)|
|01 Jan 2015||v Man Utd (H)|
|10 Jan 2015||v Arsenal (A)|
|11 Apr 2015||v West Ham (A)|