The 27-year-old has been capped 45 times for Spain and was a member of the squads that won the European Championships in 2008 and this year.
“Santi Cazorla is a great signing for us. He’s a player who will add significant quality to our squad,” said Arsenal manager Arsene Wenger.
There was no official details given on the fee paid by Arsenal, but it was reported to be around £16.5million.
Cazorla has been an influential figure for Malaga, who finished fourth in the La Liga last season whyich qualified the club for the Champions League for the first time.
“Santi has good experience at both club and international level,” Wenger said.
“He’s a versatile, attacking midfield player who can play comfortably on either side of the pitch or centrally.
“He has good pace, is technically gifted and will be a huge asset to us.”
Named the 2007 Spanish Player of the Year, Cazorla joined Malaga in 2011 following two stints with Villarreal.
He made 181 appearances for Villarreal helping them finish runners-up to Real Madrid in La Liga in 2008.
“I’m so happy to be joining Arsenal. This is a club with great players, a fantastic stadium and huge support,” Cazorla said.
“The club has one of the best managers in football and their style of play is recognised and admired all over the world.
“I’m so excited to be joining one of the greatest teams in Europe and to be playing in the Premier League.
“I will do my best to help Arsenal challenge for trophies and make all the supporters happy.”