The 33-year-old had been on loan at the bet365 Stadium for the first half of 2016/17 but has now agreed a two-and-a-half-year deal to become a Stoke player.
Grant has made 15 Premier League appearances for the Potters this season, keeping six clean sheets in the absence of the injured Jack Butland.
“It’s a perfect start to the New Year for me," he told stokecityfc.com.
“To a degree I am still pinching myself to be honest, because six months ago I wasn’t in a great position in terms of how I felt about the game and where I was in my career."
Grant helped Mark Hughes' side to a 2-0 victory over Watford on Tuesday and could make his first PL appearance as a permanent Stoke player at Sunderland on Saturday 14 January.