The 23-year-old joins from Inter Milan on a five-year deal just weeks after the move appeared to be dead.
The Switzerland winger could make his Stoke debut in Saturday’s Barclays Premier League trip to Tottenham.
Manager Mark Hughes told the club’s official website: “He’s a dynamic and explosive player who will bring something different to the group and at the age of 23 he still has a great deal of potential.
“In the chats I’ve had with him it’s obvious that he’s excited about playing in the Premier League and showing what he’s capable of.”
A switch appeared to be off in July when the club’s deadline for the move to be completed was not met and Hughes confirmed they had “stepped aside” to focus on other targets.
Shaqiri has scored 17 goals in 46 appearances for Switzerland and helped Bayern Munich win the Champions League in 2013.
Chief Executive Tony Scholes added: “It’s no secret that we have been pursuing Xherdan for some time now and we are delighted to have finally secured his signature.
“He’s an exciting young player who is really looking forward to playing in the Premier League having played at the very highest level in Germany with Bayern Munich and in Italy with Inter.
“Xherdan will be a fantastic addition to our squad and adds to the attacking options at the manager’s disposal.”