The 20-year-old was voted player of the tournament at last month’s European Under-21 Championship as Spain finished runners-up to Germany.
Spanish media reported Real paid 16.5 million euros ($18.8 million) to acquire Ceballos, slightly more than his release clause.
“Real Madrid and Real Betis have agreed the transfer of Dani Ceballos, who has signed a six-year contract with the club,” the Spanish title-holders announced on their website.
Real signed highly-rated 19-year-old French defender Theo Hernandez on Monday, also for the next six seasons, for a reported fee of 30 million euros.
Download our app and read this and other great stories on the move. Available for Android and iOS.