Both sides led twice, there were four goals in each half and after 31 attempts at goal between them, and plenty of errors in both defences, perhaps neither team deserved to win or lose this extraordinary see-saw battle that ended 4-4.
But from a claret and blue view, the visitors will believe that all three Premiership points should have been won after substitute Jermain Defoe silenced his Charlton critics with what looked like a glorious winner just seven minutes from time.
Not for the first time, though, Hammers failed to deal with another high ball into their penalty area and, as the ball dropped, there was Johansson to score a dramatic injury-time equaliser.
Johansson and strike partner Jason Euell scored two apiece but the headlines should go to Hammers hat-trick hero . . . Paul Kitson.
With Fredi Kanoute missing through injury, Glenn Roeder resisted the temptation to play Defoe from the start and, instead, recalled the experienced Kitson to partner Paolo Di Canio in attack.
The Geordie has spent long periods in the Upton Park wilderness, including a spell on loan to Charlton two seasons ago when he last scored a league goal, but he showed tonight that he still knows how to finish.
It was 'Kits' who set this game alight as early as the third minute, when he skilfully chested down Di Canio's classy pass and fired home a volley in off the post.
His second goal was West Ham's first equaliser - a cool, close range finish after brilliant vision and delivery from both Di Canio and Scott Minto, who was recalled for Nigel Winterburn on the left flank in a 3-5-2 formation.
However, what happened in between Kitson's first two goals will haunt the Hammers defence and keeper Shaka Hislop in particular. There seemed no real threat of danger as the Addicks pumped a high, straight freekick into Hislop's area but the ball skimmed backwards off Christian Dailly's head and, when Hislop hesitated and then flapped at the ball, he presented Euell with the easiest of tap-ins from two yards.
The horrible images of Goodison and Ewood Park returned again seven minutes later when the normally dependable Tomas Repka uncharacteristically lost possession on the edge of his own penalty area and a cross was deflected into the path of Euell, whose snap-shot caught out Hislop at his near-post.
Euell proved a constant threat in the first half and wasted two decent chances to score a hat-trick before the interval.
Hislop, though, had no chance with Charlton's third goal, slotted beneath him by Johansson after Parker had played a clever pass behind Hayden Foxe for him to latch onto.
Charlton boss Alan Curbishley admitted afterwards that Roeder's decision to revert to the 3-5-2 that had proved successful at Ipswich had caught him by surprise, forcing him to abandon his 4-4-2 line-up and switch to the same system as soon as West Ham's first went in.
Curbs also raised his eyebrows when he saw Kitson's name on the team-sheet and the Charlton manager was left scratching his head, too, after Kitson completed his hat-trick in the 63rd minute following a deflected left-wing cross from the impressive Di Canio.
The opener was Kitson's first league goal for West Ham in two-and-a-half years - since he scored against former club Newcastle United - and his first hat-trick since he achieved the feat against Sheffield Wednesday in May 1997 - the last time any Hammer has scored three in one Premiership match.
Even at 3-3, both teams still surged forward looking for the win. Roeder changed it tactically by bringing on two subs together. Steve Lomas made his long-awaited return at the expense of Minto, as Hammers went to a back four with Lomas joining Michael Carrick in the centre of midfield and immediately offering better protection to a vulnerable defence.
Another on his way back from injury, Joe Cole (on for Don Hutchison), was given more freedom after coming on and was involved in the build up to our fourth goal.
Perhaps the most significant change, though, was the introduction of Defoe for a tiring Kitson in the 77th minute. His arrival was predictably greeted with jeers and cries of 'Judas' from the Charlton crowd still offended by his controversial transfer to Upton Park - and the former Charlton schoolboy star soon reminded them all what they are missing.
Dailly popped up in an advanced position on the left and he sent over a useful cross that took a deflection off Fish before dropping to Defoe, who unleashed a right-foot volley past Kiely to make it 4-3.
But before the visiting fans could even think about making their way back through the Blackwall Tunnel with all three points, Johansson had the last say on an amazing night.
3 - GOAL! With their first attack of the match, Hammers take the lead in superb fashion. Di Canio's measured pass with the outside of his left foot reaches Kitson, who chests down on the edge of the area before firing in a beautiful first time volley that crashes in off the post. Charlton 0 West Ham 1.
5 - Euell beats the offside trap on the left and fires in a low cross that drops behind the run of Johansson.
8 - After Di Canio is fouled, Carrick's fierce free-kick from the edge of the area is well held by Kiely.
11 - Parker runs at the Hammers defence before unleashing a 25-yard shot that is gathered comfortably by Hislop.
16 - Hammers break quickly as Sinclair's apparent foul throw isn't penalised and Di Canio's return pass sets him free down the right. The England midfielder cuts a pass back for Kitson, whose low shot is superbly saved by Kiely and then cleared for a corner.
21 - GOAL. After controlling the first 20 minutes, Hammers concede a dreadful goal as a lofted free-kick into the area is only flicked on by Repka and Hislop somehow fails to hold the ball on his line, allowing Euell to tap home. Charlton 1 West Ham 1.
28 - GOAL. Another disaster in the Hammers defence as Repka dwells on the ball too long and concedes possession to Johansson, who clips a pass in for Euell to tuck home his second. Charlton 2 West Ham 1.
30 - GOAL! The perfect response from West Ham, as Di Canio battles superbly in the middle of the field and curls a fantastic pass out wide to Minto, whose inviting low cross is clipped home by none other than...Paul Kitson! Charlton 2 West Ham 2.
31 - The action just doesn't stop as Euell almost grabs a 10-minute hat-trick with a toe-poke from Johansson's cross that Hislop blocks well.
33 - A close range header from Fish drops just wide of Hislop's goal.
34 - Minto booked for a foul on Parker.
38 - Just moments after Kitson is denied a hat-trick by a last-ditch Powell tackle, Di Canio's snap-shot volley is well held by Kiely.
41 - Amazing scenes in the Charlton penalty area as Foxe's flick on is gathered by Minto, who dribbles round two defenders before seeing his shot blocked. The ball falls to Di Canio, who clips over a cross that Hutchison almost reaches before Kiely clears.
43 - Powell skips down the left and sends a cross in to the danger area, where Euell is inexplicably waiting unmarked to power a header goalwards. Thankfully, Hislop is alert to palm the ball away from point blank range.
Added-time: 2 minutes.
Half-time: Charlton Athletic 2 West Ham United 2.
47 - A good move down the right sees Schemmel run on to Di Canio's pass and whip in a first time cross on the volley that Kitson is just inches from reaching with his head.
50 - Di Canio's surging run down the left ends with the Italian chipping in a cross that eludes Kiely but drops on the top of the net.
51 - GOAL. Charlton take the lead again as Parker's precision pass splits the Hammers defence and releases Johansson, who slips the ball under Hislop. Charlton 3 West Ham 2.
55 - Young runs on to Jensen's pass, cuts inside Dailly and fires a left-footed shot over the bar.
63 - Double substitution for West Ham, Lomas replaces Minto and Cole replaces Hutchison.
64 - GOAL! A fairytale return for Paul Kitson as he completes a magnificent hat-trick to draw the Hammers level. Di Canio's trickery on the left once again bamboozles the Charlton defence and his cross is flicked on to Sinclair, who cuts the ball back for Kitson to tuck home his third. Charlton 3 West Ham 3.
66 - Schemmel booked for foul on Powell.
69 - Konchesky's low cross from the right finds Johansson in acres of space again, but Repka blocks the shot.
72 - Di Canio's cross from the left misses Sinclair by inches, while Schemmel's return is headed over by Kitson.
78 - Substitution for West Ham, Defoe replaces Kitson.
82 - Carrick's 30-yard effort is deflected wide for a corner.
84 - GOAL! A dream come true for former Valiant Jermain Defoe, subject of taunts from the Charlton crowd since his arrival as substitute. Dailly's powerful run down the left is only half-cleared and Defoe is waiting to hammer a powerful low volley past Kiely. Charlton 3 West Ham 4.
85 - Double substitution for Charlton, Robinson replaces Young and Bartlett replaces Parker.
86 - Kinsella's fierce low shot is superbly turned round the post by Hislop.
86 - Euell booked for unsporting behaviour.
Added time: 4 minutes.
90 - GOAL. Disaster for the Hammers as a long throw isn't cleared and Johansson fires an acrobatic overhead kick past Hislop. Charlton 4 West Ham 4.
Full-time: Charlton Athletic 4 West Ham United 4.