Campbell agreed a three-year contract with the south London club as the striker made an immediate return to the Premier League following Cardiff's relegation from the top-flight last season.
The 26-year-old is believed to have cost Palace £800,000 ($1.35 million) after they triggered a release clause in the former Manchester United trainee's contract.
"CPFC are delighted to confirm the signing of striker Fraizer Campbell from Cardiff City on a three year contract for an undisclosed fee," Palace announced on their official Twitter feed.
After missing out on several transfer targets during the close-season, Campbell is Palace manager Tony Pulis's first significant signing since the end of last term.
Campbell, who made his only England appearance as a substitute in a friendly against the Netherlands in 2012, scored just nine goals last season as the Bluebirds slumped into the Championship.
He spent 18 months at the Welsh club following his £650,000 switch from Sunderland in 2013.
During his spell with Cardiff, Campbell was instrumental in their 2012-13 promotion to the Premier League as Championship winners.
In Cardiff's first top-flight season for 51 years, he scored twice against eventual champions Manchester City to clinch a shock 3-2 victory in August and also netted in a 2-2 draw against Manchester United in November.
Earlier in his career, Campbell also had loan spells at Royal Antwerp, Hull and Tottenham during a five-year stay with United, for whom he made just two league appearances.