Stoke City 1 Manchester City 0
But Stoke defended magnificently to frustrate Mark Hughes' team and Beattie swooped to head the winner seconds from the end of the first half.
Manchester City dominated the early possession and a sloppy pass by Glenn Whelan presented Stephen Ireland with a chance he volleyed a yard wide.
And Robinho should have done better than scuff his shot in the 19th minute after he started and ended a flowing move involving Ireland and Craig Bellamy.
But Stoke gradually eased their way into a tight contest, mainly through set-plays, and Ryan Shawcross headed narrowly over from a trademark long throw by Rory Delap.
And Shawcross soon threatened again when his audacious flick from another Delap delivery flew straight into Joe Hart's grateful arms.
But Stoke were really up against it in the 37th minute after Delap was sent off. Wright-Phillips felled Matthew Etherington and Delap fouled the England winger in retaliation and then kicked the ball against him in anger.
Perhaps a yellow card would have sufficed, but referee Martin Atkinson showed red to incense an already hostile home crowd.
Stoke responded by defending in depth but then stunned the visitors by taking the lead in the fifth minute of stoppage time at the end of the first half.
In a very rare breakaway, Etherington delivered a tremendous cross from the left and Beattie rose to bury a far post header inside Hart's left-hand post.
Richard Cresswell replaced the injured Ricardo Fuller for Stoke at half-time and the predictable onslaught ensued, starting with a Robinho shot which flashed wide.
Mark Hughes introduced Elano for Pablo Zabaleta in the 55th minute to add more creativity, but the Brazilian was booked within seconds for a foul on Etherington.
And Stoke, with Shawcross and Abdoulaye Faye rock solid, defended in some comfort and threatened a second on the break with Beattie's shot being deflected for a corner.
Robinho and Craig Bellamy threatened late on, but this day belonged to Stoke.