England took an early lead in the fourth minute as team skipper Wayne Rooney converted a penalty.
However, Iceland quickly replied as Ragnar Sigurdsson made a close-range finish to make it 1-1.
The underdogs managed to come back in the 18th minute as forward Kolbeinn Sigthorsson scored the leading goal. Iceland held on to the 2-1 lead for the rest of the match, stunning England.
The Nordic side will play against hosts France in the quarter-final match at Stade de France on July 3.