England went into the match having lost top spot in Pool B to India earlier in the day, and they were given a scare by their neighbours as they went in search of the win they needed to seal a last-four spot with a match to spare.
Wales had failed to win any of their opening three group games to fall out of contention themselves, but they threatened to spoil England's hopes too when they went into half time with a 2-0 lead.
Sam Ward pulled one back for England eight minutes into the second half, and it was the 27-year-old who proved to be the hero as his hat-trick dragged England through to the semis.
Ward added a second early in the fourth quarter to level things up, and then capped off his influential individual display with the winner three minutes from time as England pulled off a memorable comeback.
England still have one pool game remaining, and they will face India on Wednesday to determine top spot in their group.