Gabriel Martinelli put the Gunners in front as Mikel Arteta’s side made a rapid start at Selhurst Park, but Palace grew into the match and had chances to get themselves level.
A header from Odsonne Edouard was saved by Aaron Ramsdale when the striker should really have scored, and Eberechi Eze’s tame effort was too close to the Arsenal goalkeeper shortly after the break when he was played clean through on goal.
The late charge from Palace came to an end with five minutes remaining as Marc Guehi headed Bukayo Saka’s cross into his own net, ensuring Vieira’s former club came away with all three points.
The Palace boss was serenaded by the away fans in the final few minutes, though that did little to lift his mood as he reflected on what could have been had his side shown a more clinical edge.
“I don’t know if 2-0 is well deserved for Arsenal, both teams didn’t really create a lot of chances,” Vieira told BBC Sport.
“The two goals we conceded were poor. And then for us, when we had that good moments, the momentum, we created two really good chances to get back into the game and we didn’t take them, and that was the frustration today.
“We knew how good this team were, we watched them play in pre-season and they play with a lot of confidence and quality in the team. You need to defend well as a team and we did it, especially better in the second half.
“At the same time, those chances we didn’t take cost us the game - in a really important time in the game. The one from Eze in the second half, we expect him to put it in the back of the back of the net, because we were all over them. If you score that, with the fans behind, the game will be different.”