The Premier League side said the deal has yet to be officially ratified, but terms have been agreed with the 23-year-old.
"Arsenal have reached an agreement with Granit Xhaka to join the club on a long-term contract for an undisclosed fee," said a statement from the North Londoners.
Xhaka, the son of Kosovo Albanian immigrants, has represented Switzerland 41 times and helped Gladbach to a fourth place finish this season, bringing with it Champions League football.
Gladbach had said last week that they had received an offer for Xhaka, who then admitted he could see himself playing in an Arsenal shirt.
"Granit Xhaka is an exciting young player, already with good Champions League and Bundesliga experience," said Arsenal manager Arsene Wenger of his first close season signing.
"We have been watching him for a long time now and he is a player who will add quality to our squad.
"We wish Granit a good Euro 2016 with Switzerland and look forward to welcoming him to Arsenal ahead of next season."
The transfer is still to be officially completed but Arsenal have confirmed Xhaka's contract will begin on July 1.