The Three Lions had dominated both the 90 minutes and extra time, hitting the woodwork four times and also having a goal disallowed by VAR.
But the 120 minutes ended goalless leading to the drama of a penalty shoot-out and goalkeeper Jordan Pickford – who had earlier successfully converted a penalty - emerged as England’s hero, saving from Josef Drmic to secure victory.
And England almost made the perfect start in Guimares with skipper Harry Kane hitting the bar with superb deft chip.
Sterling also came close after a fine England build-up saw Kane put in the City winger but his shot was parried away by Switzerland keeper.
In an open game, Dele Alli then powered a 36th minute header inches over after an inviting cross by Trent Alexander-Arnold before, at the other end, Harry Maguire needed to make a crucial last-ditch tackle to deny Haris Seferovic.
England hit the woodwork for a second time 10 minutes into the second after Shar deflected Rose’s fine left wing cross goalward before keeper Yann Sommer tipped the deflected ball onto the post.
With seven minutes left – and Kyle Walker on as a second half substitute - England finally did have the ball in the net as fellow sub Callum Wilson bundled home after Alli had headed Sterling’s inviting cross onto the bar.
But, just as with last Thursday against Holland, VAR proved England’s nemesis, referee Ovidiu Hategan ruling the effort out after consultation for a foul by Wilson in the build-up to the goal.
That heralded extra time where Sterling came close on several occasions to breaking the deadlock with Alli also denied by a fine Sommer save.
And England’s bad luck continued late on with Sterling again rattling the bar with an excellent free-kick.
It meant the game went to a penalty shoot-out and both sides’ five nominated takers, including Sterling, showed confidence and assurance to convert their efforts before it went to sudden death and Pickford beat away Drmic’s effort to seal a deserved win after Eric Dier had made it 6-5 in England's favour.