Kieran Trippier and Ivan Perisic scored in regular time, before the Juventus forward lost his marker in the 109th minute to net the winner and his second goal of the tournament.
The win puts Croatia into the decider against France on Sunday and Mandzukic, 32, said his country showed great courage in the come-from-behind win.
"This is a miracle. Only great teams can be as brave as we were and fight back from a goal down against teams like England. We've played our hearts out throughout the tournament," he said.