Gareth Southgate's men dominated the 120 minutes in northern Portugal, but Harry Kane, Dele Alli and Raheem Sterling all hit the woodwork, Callum Wilson saw a late goal ruled out by VAR and Yann Sommer made a string of saves.
England were faultless from the spot, scoring all six of their spot-kicks before Josip Drmic was denied by Jordan Pickford.
After years of disappointment in shootouts, Southgate's side have now won two in 12 months after also edging past Colombia in the last 16 of last year's World Cup.
Southgate made seven changes to the side that started Thursday's 3-1 semi-final defeat to Netherlands with six of those involved in last weekend's Champions League final returning.
Harry Kane was restored as captain and nearly made an impact inside two minutes, cheekily chipping Sommer, but the Swiss goalkeeper just touched the ball onto the crossbar.
England enjoyed far the better of the chances in an unsurprisingly subdued encounter, a third-place playoff in a newly-formed competition.
Sterling should have scored when he shot too close to Sommer after good build-up work by Kane.
Trent Alexander-Arnold started for just the second time in a competitive international and the Liverpool right-back showed why he may overtake Kyle Walker in Southgate's pecking order with a series of the inviting deliveries that have become his trademark at club level.
Sterling did not make a clean connection from Alexander-Arnold's first dangerous cross before Alli met the second with a powerful header but could not keep his effort down.
England nearly got the helping hand they needed after half-time when Fabian Schar turned Danny Rose's fine low cross off the inside of his own post.
Against hosts Portugal on Wednesday, the Swiss had largely dominated but went down to a Cristiano Ronaldo hat-trick, but on Sunday they only fleetingly posed a threat on the counter-attack.
Arsenal midfielder Granit Xhaka had their best chance just before the hour when he was picked out at the edge of the box by Harris Seferovic, but his powerful shot was turned behind by Pickford.
Any hope of a moment of inspiration form Vladimir Petkovic's men disappeared when Liverpool's Xherdan Shaqiri hobbled off injured 25 minutes from time.
Kane was also substituted having again struggled to make an impact in his third appearance since returning from a two-month injury layoff.
Wilson replaced the England captain and thought he had won the game five minutes from time when he bundled home after Alli's header came back off the bar.
However, just as in the defeat to the Dutch, England saw a goal ruled out after a VAR review for a foul earlier in the move by Wilson.
England continued to dominate in extra-time, but still could not find a way past the exceptional Sommer.
Another wicked Alexander-Arnold cross picked out Alli and his header was saved at full stretch by the Borussia Monchengladbach 'keeper whothen got back up to block Sterling's follow-up effort.
Sterling hit the post from a free-kick in the second period of extra-time, but England finally got their reward in the shootout.
Harry Maguire, Ross Barkley, Jadon Sancho, Sterling, Pickford and Eric Dier all found the net before Pickford denied Drmic.