Gary Haines reports from Estadio de Grays
Johnnie Jackson's late diving header earned Charlton an impressive friendly victory against Portuguese giants Sporting Clube de Portugal in Lepe on Thursday night.
The skipper headed home a stoppage time free-kick from Danny Green to seal a notable - and deserved - win in southern Spain.
A draw was the very least the hard-working Addicks deserved from a decent workout in the sweltering evening heat - and but for a succession of dubious decisions from the referee, they may have won by more.
Danny Haynes was the first to fall foul of the official when his claims for a penalty were rejected after he was clearly upended by man former Liverpool man Emiliano Insua.
To make matters worse, he was booked for his protests, one of three soft yellow cards dished out to the Londoners in the opening period.
Two harsh offside decisions then perplexed the Addicks players and management in the second half.
First Yado Mambo forced home what he thought was the opener six minutes in, only to be denied by a linesman's flag.
If the naked eye suggested the officials were wrong, then the ensuing television replays confirmed that the big defender was well onside.
Perhaps more marginal was another decision that went against the League One champions moments later.
The influential Michael Smith sent Jordan Cook away on the left and he coolly slotted a shot into the bottom right corner.
Again the flag went up - and again the decision was proved incorrect by television replays, with the London side feeling very hard done by.
Aside from a spectacular overhead kick, that flew just over, second-half goalkeeper John Sullivan was rarely tested despite the Portuguese side's impressive possession stats.
Ben Hamer was also scarcely extended in the opening period, with Ricky van Wolswinkle Sporting's most lively attacking performer.
Wagstaff warmed the arms of the keeper in the second half but it was Jackson who had the final say.
Green will claim the assist with a curling free-kick from the left and the captain darted across his man and dived to head home from close in.
There was little time for Sporting, who finished fourth in the Portuguese top flight last season and defeated Manchester City in the Europa League quarter-finals, to respond, as Charlton toasted a second summer win.
In terms of team news, the headline act was the first appearance of Lawrie Wilson following his recent return to the club.
He lined up on the right of the rearguard, with skipper Michael Morrison and Leon Cort central and Cedric Evina on the right.
Dale Stephens was joined in the engine room by Ruben Bover Izquierdo and Bradley Pritchard, with Haynes, Bradley Wright-Phillips and Yann Kermorgant providing the attacking options.
The first opening of the evening fell to Sporting, with striker van Wolswinkle spinning and getting in a shot from the edge of the box that was comfortably pouched by Hamer.
At the other end, Haynes had good claims for a penalty waved away by the referee midway through the half after what looked a foul by Insua.
The speedy striker was certainly caught by the Argentine but not only did the official disagree with the striker, he dished out a yellow card for his dissent.
The lively Van Wolswinkle was afforded a tad too much time on the edge of the box before blasting wide as the Portuguese side continued to probe.
The Londoners, meanwhile, fell foul of the referee twice more in quick succession as Kermorgant and Bover were yellow carded.
A looping van Wolswinkle header posed no problems for Hamer - or 'Hammer' as the Portuguese commentators described him - and the Addicks almost got in two minutes before the break.
Kermorgant, back for a corner, delivered a raking ball over the top and for a moment Haynes was in, but his touch eluded him as he looked set to pull the trigger, and the chance passed.
That proved the last action of the half and there were changes by Chris Powell at the break.
The Addicks pitched in an entirely different starting XI, with Sullivan in goal and Matt Taylor and Mambo flanked by Jordan Cousins and Rhoys Wiggins at the back.
Chris Solly operated in a midfield role, something he fulfilled in his U18 days, together with Jackson and Green, with the attacking penetration supplied by Wagstaff and Cook either side of Smith. Former Manchester City man Gelson Fernandes was among the changes for Sporting.
The Addicks ought to have been celebrating taking the lead six minutes in - but for a poor decision from the officials.
As a cross-cum-shot came in from the left from Jackson, the ball squirmed off the keeper and there was Mambo to turn home from close range.
The defender's celebration was dashed by a whistle, however, the referee indicating offside, which television pictures showed was nowhere near.
It was a touch of bad luck for a defender, who had a perfectly good goal disallowed at Welling a few pre-seasons ago.
On that occasion he high-fived all and sundry after netting at Park View Road before realising it was all for nothing, but here there was just a disconsolate shrug.
Should he watch the highlights, that might turn to anger with the decision not even halfway near accurate.
More frustration followed shortly afterwards as Smith's neat 56th-minute pass sent Cook away on the right and the winger coolly tucked the ball into the bottom right corner.
Again the flag went up - and again replays showed the Addicks man was onside.
In moments such as that the only small mercy was that such contention was happening in a pre-season friendly rather than a Championship clash, but regardless of the blunders, this was encouraging from the Londoners.
After a deep free-kick from Jackson was tipped over the bar, there was a flash of quality from Sporting on 63 minutes when Rubio teed himself up, but his spectacular overhead effort sailed just over.
Wagstaff couldn't quite get a shot in after more good work from Smith, the striker beating the keeper to a Jackson centre before the winger was forced wide. Wagstaff couldn't pick then out Smith from a narrow angle, but contributed Charlton's first official shot on target on 70 minutes, latching on to a lay-off and cutting inside before his shot was saved by the diving keeper.
Cousins made way for a triallist Salim Kerkar 12 minutes from time as Solly switched to right-back, with Green curling a free-kick high over the bar from way out on the left as the clock reached 81.
Danger loomed for the hard-working Addicks two minutes from time when Wagstaff was penalised for a foul right on the edge of the box.
But the wall did its job as the shot was blocked, denying Lisbon what would have been a scarcely deserved winner.
And it was the Londoners that did snatch the win in stoppage time thanks to their skipper.
After Kerkar was upended on the left, Green swung in the free-kick and Jackson stooped to conquer, heading into the back of the net from close range.
It was a perfect judged set-piece - the third conversion in two games for those counting - and the Addicks might have nicked a second even later.
Kerchar, enjoying a lively cameo, swapped passes with Smith, but his shot sailed over in what was the last action of the evening leaving the Londoners to toast an impressive win.
Charlton (first half): Hamer; Wilson, Evina, Cort, Morrison, Stephens, Bover, Pritchard, Haynes, Kermorgant, Wright-Phillips.
Charlton (second half): Sullivan; Cousins (Kerkar 78), Wiggins, Taylor, Mambo; Wagstaff, Jackson, Solly, Green, Cook, Smith.
Goal: Jackson 90
Booked: Haynes, Kermorgant, Bover Izquierdo.
Sporting: Marcelo Boeck; Bruno Pereirinha (Cedric Soares 46), Daniel Carriço (Onyewu 59), Xandão (Nuno Reis 59), Insúa (Pranjic 59); Rinaudo (Gelson Fernandes 46); Elias (André Martins 45), Adrien Silva (Schaars, 59); Jeffrén (Wilson Eduardo, 45), Diego Capel (André Carrillo 59), Ricky van Wolfswinkel (Diego Rubio 59).