Harry Kane's sixth goal of the World Cup 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.
Colombia took the last-16 tie into extra-time with a dramatic equaliser in the 93rd minute in Moscow, Yerry Mina climbing highest in the box to score a head in 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.
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 Sunday (AEST) in Samara.
The South American side was without James Rodriguez due to injury and could have had Wilmar Barrios sent off in the first half when he appeared to aim a head-butt into Henderson's chest and chin.