The Gunners have not specified the length of the Egypt international’s new deal, but the club’s website states that it is a “long-term” contract.
Elneny arrived at Arsenal in 2016 in a £5 million deal from FC Basel, and has since made 65 appearances for the club.
His Premier League starts have been somewhat sporadic this season, but he has played in every one of the Gunners’ Europa League games so far, scoring in the 6-0 group stage win over BATE Borisov.
Elneny played in the 3-0 win over Watford earlier in March, completing 90 minutes, but was left on the bench for defeats to Manchester City and Brighton & Hove Albion, while he has previously missed games against the likes of Manchester United, Tottenham and Liverpool.
Reports suggested that the 25-year-old was placed on the transfer list by Arsene Wenger last summer, with Leicester City reportedly interested in securing his signature.
He has impressed, however, when played by Wenger this term, with Francis Coquelin’s January departure to Valencia having opened up a spot for Elneny in the starting XI.