The 29-year-old recently entered the last 12 months of his current deal, signed in 2014 when he joined on a free transfer from Hannover.
Since then he has featured 90 times for the Potters in the Premier League, scoring 17 times, and is now targeting silverware with Mark Hughes's side.
"Another top 10 finish this season is the immediate ambition but we should be targeting the next step, an even higher finish, and success in one of the cup competitions," the Senegal international told the Stoke website.
"I'm really pleased to have signed a new contract. I've been here for three years now and feel really settled, really part of the club. My family are settled as well and that's really important to me.
"I want to play as a striker but I'm a football player and will play wherever the manager asks me to and try and do my best."