Two superb free-kicks from Martyn Woolford condemned Palace's development side to an opening day defeat as they saw what seemed like a certain victory slip away in the second half.
Having controlled the game throughout, the Eagles led at the break thanks to a neat finish from Kyle De Silva but were twice punished by the left foot of Woolford as the Lions left Selhurst with the points.
Gary Issott had the luxury of naming a strong Palace line-up including five summer signings and unsurprisingly they began brightly. De Silva forced Andy Marshall into a sprawling save after just seven minutes when he sliced through the visitors' defence, and the keeper had to be alert moments later to tip over a sliced Tom Bender clearance.
It was all the home side in the opening half and Elliot Grandin saw a header flash wide of the post from a Jose Campana corner and before the Spaniard curled a free-kick around the wall from 2-0 yards but saw his strike clatter back off the post.
The Lions could only put Neil Alexander under any pressure when Martyn Woolford fouled the former Rangers shot-stopper in the process of putting an O'Brien corner into the net illegally as the struggled to make themselves an attacking force.
But with seven minutes of the first half to play the Eagles were given a golden opportunity to make their pressure count when they were awarded a penalty. Josh Wright brought down De Silva just inside the area and the responsibility fell on Grandin to convert from 12 yards but Marshall guessed the right way and dived low to push the ball away.
But just before the break Palace did grab the lead. De Silva dispossessed a defender 30 yards from goal and burst towards goal, beating two more Lions players on the edge of the box before clipping the ball into the corner of the net via the bottom of the post.
The second half started in the same vein but against the run of play Millwall pulled themselves level just before the hour. A questionable free-kick was awarded against Palace and from wide on the right Woolford speculative shot found the top corner of Alexander's goal.
Aiming to regain the lead, Sullay Kaikai saw a blast from 25 yard fizz over the top off the crossbar before seeing a trademark free-kick miss the target by inches from an almost-identical spot.
But unbelievably for a side who had dominated proceedings, Issott's side found themselves behind with 10 minutes to play when Woolford again converted a free-kick from the edge of the box that left Alexander with no chance of saving and clinch the points for his side.
Palace: Alexander, Gordon, Jerome Williams, Boateng (Sow 60), Taylor, Marange, De Silva, Campana, Chamakh (Sekajja 65), Grandin, Kaikai. Subs not used: Fitzsimons, Dymond, Croll.
Millwall: Marshall, Siafa, Nelson, De Haivilland, Bender, Wright, McManus, Onyedinma (Penny 65), Woolford, Marquis (Wood 86), O'Brien. Subs not used: Gerrar, Thompson, Twardek.