The 23-year-old, who spent last season on loan at Celtic, has signed a five-year deal with the Spanish club.
The club confirmed on their website: “The Swedish striker John Guidetti, a target for leading clubs in various European leagues, has joined the exciting project of Real Club Celta.
“The striker, who has signed a five-year contract, will be presented on Sunday.”
Celta are hoping Guidetti can rediscover the form that he showed prior to suffering a virus in 2012 which threatened to derail his career.
Guidetti joined City as a youngster in 2008 but made his name during a loan spell with Feyenoord, when he scored 20 goals in 23 Eredivisie appearances, earning full Sweden honours in the process.
However, he was unable to complete the season after suffering from a virus. He returned to Manchester City, but was not fit enough to play until the following January, at which point he suffered a knee injury while featuring for the reserves.
In January 2014, more than 18 months after his final appearance for Feyenoord, he joined Stoke on loan, but made only six substitute appearances.
A season on loan with Celtic last campaign was more successful as he scored 15 times in 35 appearances, but the Scottish champions chose not to make the move permanent.
Guidetti enjoyed a fine summer, however, as he helped Sweden to victory at the European Under-21 Championship, scoring in penalty shoot-out which settled the final against Portugal.