Substitute Juan Quintero lashed home a penalty five minutes from time as Colombia came back from 2-0 down to stun France 3-2 in a friendly here.
Barcelona centre-back Samuel Umtiti was penalised for a rash lunge on Quintero’s fellow substitute Jose Izquierdo as the South Americans received a morale boost ahead of the World Cup in Russia.
“My team showed World Cup character,” beamed Colombia coach Jose Pekerman, whose side will face Poland, Senegal and Japan in Group H.
“It’s very important for this preparation for Russia.”
France coach Didier Deschamps admitted the visitors had shown greater desire.
“The Colombians gave us a lesson in aggressiveness, whereas we were too quick to settle for what we had,” he told TMC television.
“The top level is demanding and we didn’t respond in the second half.”
France will be up against Australia, Peru and Denmark in Group C in Russia.
It was a remarkable turnaround after the hosts had got off to a flying start at the Stade de France.
Olivier Giroud scored his 30th goal for France as Manchester United midfielder Paul Pogba was left on the bench — as he has frequently been by Jose Mourinho at Old Trafford.
Thomas Lemar doubled the lead for a vibrant France but Luis Muriel gave the South Americans hope following a mistake by goalkeeper Hugo Lloris.
Lemar’s Monaco team-mate Radamel Falcao equalised and Quintero then had the last word, just two minutes after entering the fray.
Pogba came on as a substitute for the final quarter but had little impact.
The game began after a minute’s silence in memory of the three victims of the jihadist attacker who struck in southwest France earlier in the day before being shot dead by police.
Even without the elegant drive that Pogba brings to the midfield, France were on the front foot from the off.
But when they deservedly took the lead on 11 minutes, it was almost entirely down to a horrendous gaffe by Arsenal reserve goalkeeper David Ospina.
Lucas Digne timed his run down the left flank perfectly to gallop onto Lemar’s inch-perfect through ball but the full-back’s cross on the stretch was weak and straight at Ospina.
The Arsenal stopper inexplicably fumbled it, though, allowing Giroud to thrash a rising shot into the roof of the net as he fell backwards.
It meant he matched the number of goals scored in a France shirt by former greats Just Fontaine and Jean-Pierre Papin.
Lemar doubled the lead with a beautifully-worked team goal on 26 minutes.
Djibril Sidibe started a rapier counter-attack that saw Kylian Mbappe exchange passes with Antoine Griezmann, whose backheeled return when in a shooting position seemed unnecessary, but Mbappe helped the ball on to Lemar to slash home left-footed.
France’s joy was short-lived as the goalkeeping union had an evening to forget.
Two minutes later Luis Muriel’s inswinging cross from the left looked to be heading harmlessly into Lloris’s arms.
But the Tottenham goalkeeper was put off by Davinson Sanchez’s attempts to divert the cross home from inside the six-yard box and dived the wrong way as the ball plopped almost apologetically past him.
Colombia created little but James Rodriguez curled a free-kick just over the bar in first half injury time.
And they were the more lively at the start of the second period with Muriel having two early chances.
France didn’t take note and Colombia soon equalised as N’Golo Kante lost possession in midfield and James scampered clear down the right before pulling back a cross for Falcao to convert from 15 yards.
A week after his brace for Sevilla helped knock Manchester United out of the Champions League, Wissam Ben Yedder came on for Giroud to make his France debut, but to little effect.
It was instead Colombian substitutes Quintero and Izquierdo who made the difference.