The defender scored his first Premier League goal of the season in the 33rd minute after Emmanuel Adebayor beat Glenn Whelan on the right of the area before sending in a perfect cross for Rose, who headed past Asmir Begovic.
Rose was then caught on the shin by Ryan Shawcross to earn the Stoke captain a second yellow card seven minutes after the break at the Britannia Stadium.
Stoke responded well but was unable to find an equalizer and slipped to only a third home defeat this season.
Tottenham remains sixth with 66 points while Stoke is provisionally 10th with 44. Both have two games left.