The Spanish topflight team made a bright start and took the lead in the 12th minute when Endrick controlled Carreras’ delivery before firing a powerful left-footed finish into the net.
They doubled their advantage shortly before the hydration break, with debutant Ciria finishing a move involving Camavinga and the lively Arda Güler.
Fiorentina responded through Piccoli before half-time, then levelled seven minutes after the restart when Moise Kean headed home. Gudmundsson also went close, but Madrid remained dangerous.
Carlos Espi made his debut in the 75th minute, replacing Endrick, and nearly won it late on with a header that narrowly missed.
The draw provided Jose Mourinho’s Madrid with another useful test as preparations continue for the new season.
