Early goals from Federico Bernardeschi were enough to see Fiorentina beat Barcelona in their International Champions Cup clash at the Stadio Artemio Franchi.
The Serie A side stunned the European champions when they took a fourth-minute lead after a Borja Valero cross was headed home by the 21-year-old forward.
La Viola doubled their advantage soon after as Joaquin's tantalising cross found Bernardeschi, whose side-footed shot sent Marc-Andre ter Stegen the wrong way.
However, Barca pulled one back on 17 minutes after a deft first-touch pass from Ivan Rakitic allowed striker Luis Suarez to score from close range.
Suarez could have netted a second on the stroke of half time, but his misdirected shot failed to trouble keeper Ciprian Tatarusanu following Pedro's through ball.
The Uruguayan threatened the Fiorentina goal again after the restart as another low cross from Pedro was cut out by Facundo Roncaglia before Suarez could pull the trigger.
Just before the hour mark, La Viola nearly restored their two-goal lead when substitute Giuseppe Rossi latched onto Josip Ilicic's delivery before firing wide.
Moments later, the Blaugrana's squandered their best chance of an equaliser as ,firstly, Tatarusanu saved well from Suarez, before Pedro's follow-up effort was blocked by Gonzalo Rodriguez.
Munir El Haddadi nearly brought Barca level on 71 minutes when his shot was saved by the Fiorentina keeper, but the Catalans' were left frustrated as the Italian outfit held on.