Edinburgh winger Tim Visser scored a last-gasp try for the Barbarians to deny England at the death, and help the men in black and white hoops to a thrilling 38-32 win.
The hosts began promisingly but some poor defence coupled with enterprising rugby from the visitors saw the game go down to the wire and Martin Johnson's men lose out.
England were quickly into their stride as a cleverly-delayed pass from Charlie Hodgson sent Hendry Trinder swooping in, but the Baa-Baas hit back immediately with Benoit Baby cruising round Mike Brown.
A Hodgson penalty restored the lead and two quick-fire tries followed before the half-hour - Ugo Monye chasing down his own kick and James Simpson-Daniel finishing clinically after good work from number eight Carl Fearns.
Fred Michalak cut the arrears to 22-14 at half-time with an interception score, and the invitational side raced into the lead after the break when Visser scampered down the line to score his first and George Smith sniped over in the corner.
A Seru Rabeni interception then set up possession for Joe van Niekerk to force his way over on the hour, and it was left to Tom Johnson to hit back with an England try that edged them one point clear with eight minutes left.
But that only set the scene for Dutchman Visser to silence the crowd in the dying moments- collecting a clever offload to barrel over from 5m and secure victory.
Tries: Johnson, Monye, Simpson-Daniel, Trinder
Cons: Hodgson 3
Pens: Hodgson 2
Tries: Baby, Michalak, Smith, van Niekerk, Visser 2
Cons: Michalak 3, Pienaar
England: 15 Mike Brown, 14 James Simpson-Daniel, 13 Henry Trinder, 12 Matt Banahan, 11 Ugo Monye, 10 Charlie Hodgson, 9 Paul Hodgson, 8 Luke Narraway (c), 7 Carl Fearns, 6 Tom Johnson, 5 Dave Attwood, 4 Graeme Kitchener, 3 Paul Doran-Jones, 2 David Paice, 1 Joe Marler.
Replacements: 16 Joe Gray, 13 Kieran Brookes, 18 James Gaskell, 19 Jamie Gibson, 20 Mickey Young, 21 Stephen Myler, 22 Jordan Turner-Hall.
Barbarians: 15 Nicolas Jeanjean, 14 Paul Sackey, 13 Benoit Baby, 12 Mathieu Bastareaud, 11 Tim Visser, 10 Fred Michalak, 9 Ruan Pienaar, 8 Sergio Parisse (c), 7 George Smith, 6 Joe van Niekerk, 5 Paul Tito, 4 Erik Lund, 3 Davit Kubriashvili, 2 Leonardo Ghiraldini, 1 Salvatore Perugini.
Replacements: 16 Sebastien Bruno, 17 Carl Hayman, 18 Quintin Geldenhuys, 19 Martyn Williams, 20 Sebastien Tillous-Borde, 21 Willie Mason, 22 Seru Rabeni.
Referee: Christophe Berdos (France)