Holding’s new deal includes the option to extend for a further year.
The 25-year-old joined Arsenal from Bolton Wanderers in the summer of 2016 but his progress at the club has been hampered by a number of injuries.
He looked set to join Newcastle United last summer but stayed put to remain a key component of Mikel Arteta’s rearguard.
Holding’s 14 Premier League games this season is the most he has managed in a single campaign in his Arsenal career. He has won two FA Cups with the Gunners.
Arsenal head coach Arteta said: "Since I started as manager, I have been hugely impressed with Rob's contribution to the club and the dressing room, on and off the pitch.
"The quality of his work every day on the training pitches is excellent and he is translating this into consistently high performances in matches.
"We all know Rob's quality, which he has shown in his displays during the intense moments of those two FA Cup final victories. We are all very happy that Rob has signed a new contract, he is very popular with all the players and staff, and we're looking forward to watching him continue to grow with us in the coming years."
Technical director Edu also praised Holding. He said: 'He is 25-years-old so is still coming into the peak of his career and we are delighted that he'll be with us during these important years.'