Gerard Pique scored the second-half winner for the Catalan side in front of over 66,000 fans for the first Clasico outside Spain.
Mateo Kovacic turned the tide when he dragged one back with an arrow into the far corner from the edge of the box. It brought Real back into a game they looked to be second best in.
Zidane’s side found an unlikely equaliser too before the break when Marco Asensio fired home low and hard.
The Miami crowd got their money’s worth in an end-to-end first half, and the lack of defending helped the entertainment value.
Pique scored what proved to be the winner when he was left in acres of space from a Neymar cross in the 50th minute. The Spanish defender eased into the six-yard box unchallenged and unmarked to cushion a volley home and seal Miami glory for the Catalans.
The Clasico giants will meet again in the two-legged Spanish Super Cup on August 13 and 16.