Monreal, 33, joined Arsenal from Malaga in January 2013 and went on to make 251 appearances for the club, scoring 10 goals.
"During his time with us, Nacho played in his natural left-back position and also in central defence. He won three FA Cups, three Community Shields and played a big part in our run to the Europa League final last season," said a statement from Arsenal.
"We would like to thank Nacho for his contribution to the club and everyone at Arsenal wishes him the best for his future."
Spotify founder Ek says his bid for Arsenal was rejected
Monreal, who began his career with Osasuna, will be presented as a Real Sociedad player on Monday. He has signed a two-year deal.
Elneny, who joined Arsenal in 2016, has found himself on the fringes of the squad since Unai Emery took over as coach last season.
The 27-year-old Egypt international made only eight league appearances last season and did not feature in their first three matches this season.
"Mohamed Elneny has joined Turkish Super Lig side Besiktas on loan for the rest of the season," the club said.
"The loan is subject to the completion of regulatory processes."
Barcelona ready to prioritise Haaland ahead of Messi - Paper Round
Arteta hits out at press: I can't accept someone putting words in my mouth