The result left Palace 12th in the standings on 16 points from 14 games while Leeds moved two places up to 15th on 15 points after they ground out their third league win of the season.
Leeds dominated possession but lacked any edge up front as the best chances fell to the visitors before Marc Guehi handled a corner and Raphinha made no mistake with the spot kick, awarded after a VAR check.
Palace manager Patrick Vieira was disappointed.
“I’m frustrated because we were the better team and when you don’t put away your chances, you know you can get punished,” the former France midfielder told the BBC.
“We just have to accept the result. Some of the games have gone in our favour, tonight it didn’t. We don’t have time to feel sorry for ourselves.”
After a dull first half devoid of any chances, Leeds’ Rodrigo dragged a Daniel James cross from the left well wide of the near post in the 53rd, as he failed to turn and get a shot on target.
Christian Benteke then missed a pair of sitters for Palace, heading wide at the far post before home keeper Illan Meslier scrambled to smother the striker’s feeble close-range shot on the line.
Those misses proved costly for the visitors after the ball hit Guehi’s raised arm deep into stoppage time, with Raphinha stroking the penalty past visiting keeper Vicente Guaita to delight the home fans at Elland Road.
Leeds midfielder Kalvin Phillips was relieved after they ground out the win and dismissed reports that he had fallen out with manager Marcelo Bielsa.
“It is a massive win for us, we are very happy and have to try and go on a run of games now – we have a tough run of games before Christmas,” said the England enforcer.
“I will play any position the manager asks me – if he wants me to play centre back I will play centre back, if he wants me to play goalkeeper I’ll play goalkeeper.
“I saw a lot of things on social media and TV that me and the manager had fallen out, it’s never been the case and I wanted to put that to bed.”