The visiting Saints stunned the West Ham supporters into silence after a fast start in east London.
Leo Scienza broke into the area and fired a shot straight at Mads Hermansen which then fell to Matsuki who was able to stroke the ball into the bottom left-hand corner.
Saints then doubled their lead when Caspar Jander’s cross was tipped to the other side of the West Ham box by Hermansen.
The clearance flew only as far as Bree who allowed the ball to bounce before brilliantly rifling his finish into the top corner of the net from a tight angle.
West Ham sprung into life in the 24th minute when Walker-Peters showed some neat footwork before sending a brilliant strike into the top left-hand corner of the net.
But Eckert’s side then scored again when they broke up the other end and Scienza had another effort saved from close range.
On this occasion Dobbin was on hand to poke the ball home from a matter of feet, running off to celebrate in front of a shocked London Stadium.
Taty Castellanos had a glorious chance to give the hosts a second just before the break but after Daniel Peretz spilled the ball, the West Ham forward somehow put his effort wide of the target.
Saints came close to a fourth in the second half when Finn Azaz played a delightful pass to Dobbin whose low shot struck the outside of the right-hand post.
After an hour of play Max Kilman came so close to getting his side back into the game, walloping a strike from the edge of the box towards the top corner.
But his effort hit the woodwork before bouncing onto the diving Peretz and behind for a corner.
Substitute Soucek made an impact late on when his injury time strike found the bottom right-hand corner in added time but ultimately it was not enough for the hosts with loud boos heard at the full-time whistle.