The Potters have paid an undisclosed fee for the 23-year-old Spanish international, who has become the Club's fifth signing of the summer following the captures of Mame Biram Diouf, Steve Sidwell, Phil Bardsley and Dionatan Teixeira.
The signing of Bojan was completed this morning and he will now fly out to Germany where he will link-up with his new teammates at their training base in Reit im Winkl.
The 5'7" winger is a graduate of Barcelona's famed youth system - like Marc Muniesa, with whom he will be reunited at the Britannia Stadium - and made his first team debut for the Catalan club as a 17-year-old.
City Chief Executive Tony Scholes said: "We are delighted to have signed such a richly talented and exciting player, who is still only 23.
"A number of other clubs had expressed an interest in him but Bojan believes joining Stoke City will benefit his career and we have no doubts he will prove to be a wonderful addition to our squad.
"The signing of Bojan, along with the other players we have recruited ahead of the new season, underlines the progress we are making as a Club."
Manager Mark Hughes added: "Anyone who knows European football will be aware of him as a player and the fact that he sees his future at Stoke City is really exciting and an endorsement of the Club itself.
"He's desperate to prove himself in the Premier League and we're pleased to be able to offer him that platform.
"The time he spends with the squad in Germany will help him settle in and will give myself and the coaches the chance to take a good look at him."
Bojan made more than 120 league appearances for Barca, scoring 26 goals in the process, and his outstanding performances prompted comparisons to be made with Lionel Messi.
He joined AS Roma in July 2011 and although he made 33 league appearances and scored seven goals in his first season in Italy, he joined AC Milan on a season-long loan in August 2012.
Bojan returned to Barcelona at the end of the 2012-13 season and although he has not added to his tally of first team appearances for Barca, he gained further valuable experience last season in a loan spell with Ajax.
He scored five goals in 32 games as he helped Ajax secured their 33rd Eredivisie title, as well as the Dutch Super Cup.