Tottenham's 11-match unbeaten league run ended as Matthew Etherington scored twice against his old club to hand Stoke a third straight league win.
One of four former Spurs players to feature for the hosts, Etherington tapped in to open the scoring.
He doubled the lead with a scuffed strike from Ryan Shotton's long throw before Emmanuel Adebayor converted a penalty after a foul on Luka Modric.
Tottenham pushed for an equaliser but faded once Younes Kaboul was sent off.
It was a harsh dismissal for a second yellow card and Spurs were also aggrieved with several other decisions by referee Chris Foy.
Peter Crouch appeared to handle in the build-up to Etherington's opener, Ryan Shawcross cleared a Kaboul shot off the line at 2-1 and, in the scramble that followed, Adebayor saw a strike incorrectly ruled out for offside.
Jermain Defoe also felt one of his shots was blocked by a hand.
The defeat stops Tottenham's winning streak in the league at six games and leaves them five points behind second-placed Manchester United with a game in hand.
Stoke have been in impressive form in recent weeks and are now up to eighth in the table.
Their previous two league meetings with Spurs at the Britannia ended in defeat but they made the more purposeful start on this occasion - with Crouch, Etherington, Jonathan Woodgate and eventual substitute Wilson Palacios up against their old team.
There was no place in the side for Rory Delap but long-throw duties fell to Shotton and he proved a highly capable replacement.
Only 37 seconds were on the clock when his looping delivery was cleared to Etherington and the 30-year-old's volley drew a diving save from Brad Friedel.
Clearly aware of their opponents' strength in central midfield - where Scott Parker, Modric and Rafael van der Vaart have formed one of the division's more fearsome trios - Stoke looked to attack from wide areas at every opportunity.
DID YOU KNOW?
- Stoke have lost only one of the 22 Premier League matches in which they have led by two goals - against Wolves in October 2009
The tactic paid off when Shotton's cross was flicked by Jon Walters to Crouch and he held off William Gallas before turning the ball through Friedel's legs from a tight angle for Etherington to slam into an empty net.
Crouch seemingly used his arm to control Walters's header, but Stoke deserved their reward for a high-tempo approach that caught Tottenham off guard.
Tony Pulis's men worked tirelessly to maintain their advantage before going in search of a second - and it arrived when the latest Shotton throw was worked on by Walters and Etherington arrived at the back post to volley past Friedel.
They began the second half as they started and finished the first, harrying all over the pitch, and Spurs were pushed firmly on to the back foot.
But Harry Redknapp replaced Assou-Ekotto and Lennon with Sebastien Bassong and Defoe, switching his formation from 4-4-1-1 to 3-4-1-2, and the move paid off.
An unmarked Bassong headed over from Modric's corner, Defoe fired over, Ryan Shawcross cleared Bale's cross with a last-ditch header and Parker narrowly failed to connect with Kyle Walker's pinpoint centre.
Their superiority finally told when Glenn Whelan tripped Modric in the box and Adebayor wrong-footed Sorensen from the spot.
Spurs were now encamped in Stoke territory and Parker drew a stunning save from Sorensen, Adebayor curled inches wide and Modric again went close.
A Kaboul shot was cleared off the line by the arm of Shawcross and Adebayor was wrongly flagged offside as he rolled in what should have been the leveller.
Foy gave Kaboul his marching orders for a challenge on Walters and, from that moment, the game was up for Spurs, Shawcross heading against the bar as Stoke pressed for a late third.
Sorry, we were unable to load match stats, please try again.