The 33-year-old striker became a free agent in the summer after being released by Queens Park Rangers.
New Palace boss Neil Warnock has snapped up the much-travelled Johnson whose contract runs until January.
He will also coach some of the club's academy players, and is thrilled to have returned to south London.
Johnson said in a statement: "I am delighted to be coming back to a club that I love and have a real soft spot for.
"I would like to thank the gaffer and the chairman for giving me this opportunity and I am looking forward to helping this club have continued success in the Premier League.
"I have also been given an opportunity to help the youngsters in a coaching capacity, something I am really looking forward to getting involved in."
Johnson was at Selhurst Park between 2002 and 2006 when he netted 85 goals in 160 games.
He has also played for Birmingham City, Everton and Fulham during a career that has yielded more than 450 first-team appearances.