Eddie Nketiah was brought down by Sam Johnstone after Gabriel Martinelli’s quickly took a free-kick, with Odegaard sending the goalkeeper the wrong way from the spot.
At that stage, Mikel Arteta’s side looked comfortable, but they were left hanging on after left-back Takehiro Tomiyasu was shown a red card for two bookings.
The first yellow was for taking too long over a throw-in and the second was harshly awarded for a minor foul on Jordan Ayew in midfield.
Palace put on late pressure, with Tyrick Mitchell drilling over in injury time, but the Gunners, who hit the post through Nketiah in the first half, deserved their victory.
Arsenal joined Brighton and Manchester City on six points from two games, while Palace failed to build on their opening-day win at Sheffield United.
We’ve got the edge. Get real-time reports, breaking scoops, and exclusive angles delivered straight to your phone. Don’t settle for stale news. Join LEADERSHIP NEWS on WhatsApp for 24/7 updates →
Join Our WhatsApp Channel