The Spaniard will wear the No.8 shirt for the Gunners, the squad number previously assigned to Aaron Ramsey, who left the club to join Juventus on a free transfer.
The move represents the north Londoners' second signing of the summer, with Gabriel Martinelli having arrived from Ituano in a £6 million ($8m) move.
It is not expected to be the Gunners' final summer move, however, with more activity expected before the window shuts.
Indeed, a £27m ($34m) deal has been agreed for Saint-Etienne centre-back William Saliba, with that transfer, that will see the 18-year-old return to the Ligue 1 club on loan for the season, set to be announced in the coming days.
Dani Ceballos joins us on a season-long loan from Real Madrid— Arsenal FC (@Arsenal) July 25, 2019
Unai Emery's side also remain interested in signing Crystal Palace winger Wilfried Zaha and a fresh bid is expected to follow having already tested the water with an initial £40m ($50m) bid.
The Eagles are, however, demanding £80m ($100m) for their star man, a figure that is currently out of reach for the Gunners.
Celtic full-back Kieran Tierney is another on Arsenal's wish list and, despite Celtic's reluctance to sell, there is still hope that they can seal a move for the Scotland international.