Yaya Toure struck a fine equaliser as Manchester City regained top spot but dropped two valuable Premier League points at Stoke City.
Toure cancelled out a stunning long-range volley from Peter Crouch with his own powerful strike but the frustrated visitors could not find a winner in a hard-fought encounter.
City might argue Stoke could have had a man sent off when Dean Whitehead caught David Silva with his arm but they had a let-off when Pablo Zabaleta cleared off the line.
The result was enough to take City back above Manchester United on goal difference but their rivals could now move further clear when they play their game in hand against Fulham on Monday.
City have not won at Stoke since the Potters were promoted back to the top flight in 2008 and the arena, at its most atmospheric and intimidating, again proved their undoing.
City boss Roberto Mancini had expected a physical game and he got just that in a niggly, scrappy 90 minutes in which referee Howard Webb showed considerable restraint in his use of cards.
City, without top scorer Sergio Aguero due to a foot injury, controlled the early possession but Stoke showed their muscularity from early on and ensured the visitors could not impose themselves.
Stoke had the first serious opening when Crouch headed down a cross for Cameron Jerome but the former Birmingham striker, operating as a midfielder, could not connect with his acrobatic effort.
Jonathan Walters was again partnered with Crouch up front and he took aim after Glenn Whelan cut inside but screwed his shot well wide.
City were unable to get a clear sight at goal as Silva and Zabaleta both had efforts deflected wide and Toure shot over from distance. Zabaleta also spurned a chance by choosing to pass instead of shoot.
Controversy broke out when Whitehead caught Silva in the face with his arm challenging for a high ball.
Silva's discomfort was obvious as he required lengthy treatment and eventually returned to the action wearing a bandage, although even that did not seem to convince the Stoke fans booing him.
Whitehead escaped with a talking to from Webb, who also spoke to City captain Micah Richards in an effort to calm the situation.
There were further problems moment later when Mario Balotelli was hauled back by an arm around the head from Ryan Shawcross but, despite the protestations of Mancini, a free-kick was the only outcome.
Edin Dzeko headed a fine chance for City over soon after and the visitors suffered further frustration when Gareth Barry was booked after losing possession and pulling back Jerome.
Stoke thought they were about to take the lead in the 41st minute when a Matthew Etherington corner was met by a deft glancing header from Shawcross but Zabaleta cleared off the line.
Dzeko had a chance to break the deadlock in the opening minute of the second half as he controlled a lofted pass from Barry but he could not get it down quick enough to round Asmir Begovic.
City had a moment of alarm as the ball was lofted into the their box but Hart blocked an effort from Walters at point-blank range.
Stoke claimed the lead with Crouch's sensational strike just before the hour.
It came via route one as a long clearance from Begovic was headed on by Crouch but there was nothing crude about the finish.
The striker brilliantly flicked up a return header from Pennant and twisted to volley into the top corner from 30 yards.
Mancini reacted quickly by sending on Adam Johnson for Silva in the hope of gaining more width.
The game was continually punctuated by fouls and City became increasingly frustrated as they sought a way back in.
Mancini finally turned to Carlos Tevez with 16 minutes remaining, the controversial Argentinian entering the fray to loud booing - all from home fans.
Tevez was not involved, but the game changed moments later as Toure, with seemingly nothing on, unleashed a ferocious shot from 30 yards.
It took a crucial deflection off the head of Shawcross and Begovic could do nothing but palm it into the back of the net.
City threw men forward in search of a winner but Stoke held out and went close themselves when Johnson deflected a shot narrowly wide of his own goal.
Shawcross even turned the ball in but Webb disallowed the goal for an infringement.
Toure tried his luck again from the edge of the area but shot over.