Harry Kane's sixth goal of the World Cup - which puts him two clear of nearest rival Romelu Lukaku in the race for the Golden Boot - appeared enough to secure England's first knockout win at a major tournament in 12 years, the Three Lions captain scoring from the spot after he was fouled by Carlos Sanchez.
But Colombia took the last-16 tie into extra-time with a dramatic equaliser in the 93rd minute in Moscow on Tuesday, Yerry Mina climbing highest in the box to score a header from Juan Cuadrado's corner.
In the shoot-out, David Ospina plunged to his left to keep out Jordan Henderson's poor penalty and give Colombia the advantage, but Mateus Uribe struck the crossbar and Jordan Pickford denied Carlos Bacca brilliantly to give Dier the chance to win it for the Three Lions.
And the substitute kept his nerve, Dier drilling home his spot-kick even though Ospina dived the right way, with England now set to take on Sweden on Saturday in Samara.
The South Americans were without James Rodriguez due to injury and could have had Wilmar Barrios sent off in the first half when he appeared to aim a headbutt into Henderson's chest and chin.
England started on top, Ospina beating away a long-range Ashley Young drive before Raheem Sterling saw a pair of shots well blocked. Kane had the game's first chance in the 16th minute, but, arriving beyond the back post to meet a Kieran Trippier cross, the Tottenham striker could not direct his header on target.
Barrios was perhaps fortunate only to be booked when he appeared to headbutt Henderson, Trippier bending the resulting free-kick narrowly wide.
Henderson exaggerated the contact, but there was no doubting the intent from Barrios, referee Mark Geiger opting not to consult VAR before showing the yellow card.
Colombia had frustrated England with their physical approach, but it came at a cost as they gave away a penalty early in the second half when Sanchez dragged Kane down in the box.
Kane had a long wait to take the kick, with Colombia attempting to distract the England captain, but the Tottenham striker kept his cool to beat Arsenal goalkeeper Ospina from 12 yards.
England went close to scoring a second six minutes later when another terrific Trippier cross found Dele Alli and the midfielder headed over the crossbar.
Shorn of James' creative threat Colombia struggled to break England down and Kyle Walker's mistake should have been punished by Juan Cuadrado, the winger firing his chance wide.
Colombia forced their way into extra-time, though, Mina scoring for the third World Cup game in a row after Pickford made a world-class save to tip away Uribe's drive.
With Ospina in the box for the resulting Cuadrado corner, Mina rose highest to crash in a downward header that a desperate Trippier could not keep out on the line.
England substitutes had the best chances to win the game in extra-time, but Danny Rose rifled wide of the far post after being played in by Henderson and Dier wasted a free header.
But Dier made amends in stunning fashion in the shoot-out, England coming from 3-2 down after Uribe and Bacca failed to convert their spot-kicks - the latter seeing his central penalty superbly stopped by Pickford.
Dier thumped in his effort to spark wild celebrations as England ended their World Cup shoot-out hoodoo.
Key Opta stats:
- England have won a penalty shoot-out at a major tournament for only the second time, also beating Spain in Euro 96.
- Harry Kane has scored six goals in his first three World Cup appearances for England – only three players have scored more in their first three matches; Hungary's Sandor Kocsis (9), Germany's Gerd Muller (7) and Argentina's Guillermo Stabile (7).
- The last England player to be fouled more often in a World Cup match than Harry Kane in this match (9) was Alan Shearer in 1998 against Tunisia (11).
- Harry Kane has scored 14 goals in 10 England appearances under Gareth Southgate, scoring in all eight matches he has played as captain (12 goals).