The Spanish international steered in a Neymar free-kick in the 50th minute to seal a 3-2 win for the Catalan giants in front of 66,014 at the Hard Rock Stadium.
Lionel Messi, who put in a superb 64-minute performance, opened the scoring after just three minutes and when Ivan Rakitic doubled the lead soon after, the writing appeared to be on the wall for a sluggish Real Madrid side.
Neymar impresses in Juventus friendly
Yet Zinedine Zidane's side quickly woke from their slumber and by the end of the first half, goals from Mateo Kovacic and Marco Asensio had pulled them level.
What followed was entertaining, often breathless friendly fare before Pique struck that decisive goal.
This was nothing more than a pre-season match and obviously wasn't going to affect the overall record between these two old rivals, which stands at 93 wins for Real, 91 for Barcelona — who had won their most recent meeting with Messi's last-gasp winner — his 500th for the club.
Madrid had the last laugh in May, winning La Liga and the Champions League, but actually arrived in Miami off the back of two exhibition defeats - a penalty shoot-out defeat to Manchester United before Manchester City also did a number on them in Los Angeles, running out 4-1 winners.
Doors are open if Mbappe wants to join Real: Ramos
Barca, meanwhile, had beaten United and Juventus in International Champions Cup friendly competition, but the ongoing uncertainty surrounding Neymar — and Paris Saint-Germain's reported readiness to make a €218 million move for him — has cast a serious cloud over their two-week stay in North America.
The Brazilian started for Ernesto Valverde's side and while the rest of his team-mates head home he will fly to China to perform commercial obligations on behalf of the club.
Valverde put off post-match questions about Neymar. "I always try to talk about things that happen rather than things that might happen," he said. "We are going to wait. From my perspective, we have Neymar in our team, we count on him and we have to see."
On Saturday, it was Neymar starting alongside Messi and Luis Suarez while Gareth Bale, Luka Modric and Karim Benzema were all unleashed by Madrid manager Zinedine Zidane.
Neymar's first involvement was to fall to the ground and clutch his ankle.
For a moment it looked like his evening would be over before it began, though he was back on the pitch in time to see Messi open the scoring with just three minutes on the clock.
The Argentine ace waltzed into the box and lifted a shot past Keylor Navas via a deflection off Raphael Varane.
And it wasn't long before Navas was picking the ball out of the back of the net once again.
On six minutes, Neymar, gradually moving more freely, squared the ball and it found Rakitic, whose finish was clinically struck in the seventh minute.
Real had barely escaped their own half and were lucky not to fall further behind on 13 minutes when Suarez fired over from close range.
Yet with Madrid's first effort on goal, Zidane's side pulled one back.
Croatian Kovacic evaded a challenge just outside the box before arrowing the ball past the outstretched hand of Jasper Cillessen.
Suddenly, the game was on. Benzema, who'd barely had a sniff, dragged just wide on 19 minutes with Cillessen beaten.
Navas remained the busier keeper, however, and was on hand to repel Messi once again on 31 minutes.
It was a key save because in the 36th Asensio levelled for Madrid.
Los Blancos were counter-attacking dangerously and it was left to Modric who squared for the Spaniard who took full advantage of Jordi Alba missing the ball to rifle past a horribly exposed Cillessen.
Although they came back from the early goals, Zidane was downbeat about his team's performance. But he said there was plenty of time to get things right before Madrid take on Manchester United in the UEFA Super Cup on August 8.
"Today was a game of two faces for us, one bad, one better," he said. "Ultimately we are preparing for the eighth — we will be ready."
Both teams retained their star men after the restart and it was Neymar whose pinpoint free-kick was steered home by Pique in the 50th.
"We made a good start, generated some good opportunities," said Valverde. "Overall, we did well trying to dominate the match. I expect the best from Messi and all the players but he is extraordinary and we are aiming to win all the titles this season."
While the clash of the Spanish rivals was supposedly a friendly, Rakitic was lucky to escape a red card just after the hour mark when he appeared to push referee Jair Marrufo.
Neymar departed on 72 minutes in what could have been his final performance in Barcelona colors.
"I don't want to speculate about Neymar," said the Barcelona coach. "I see him in the same place I have seen him recently: on the pitch with us."
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ