Croatia thought that a place in the semi final was in the bag after substitute Ivan Klasnic put them ahead in the 119th minute.
But they were stunned by Turkey's equalizer through Semih Senturk deep into stoppage time as the match went to penalties.
Croatia wasted three spot-kicks from Luka Modric, Ivan Rakitic and Mladen Petric while Turkey converted all their attempts.
Turkey, who are making their third appearance in the European showpiece, will face Germany in the semi-final.
Croatia striker Ivica Olic squandered a glorious opportunity to put Croatia in front after 19 minutes.
Talented midfielder Modric dribbled into the area before sending a low cross that eluded Turkey keeper Rustu Recber and went into the path of Olic.
The Hamburg frontman, with the goal at his mercy, hit the bar from a few yards out.
Chances were at a premium in the second half. Croatia had few threats while Turkey failed to mount any sustained periods of pressure.
Rustu dived to his left to palm Darijo Srna's swerving free-kick round the post six minutes from normal time.
Neither side was able to score the decisive goal afterwards as the match went into extra time.
Breathtaking
Both halves of extra time were not so exciting. However, the match still offered few minutes of breathtaking football.
With one minute remaining before penalties, Klasnic scored what looked like an invaluable goal for the Croatians.
Modric took advantage of Rustu's needless run out of his goal in the right side of the penalty area to whip in a cross which was headed home by Klasnic.
Croatia players were about to celebrate reaching the semis when Senturk's deflected shot from inside the area found its way into the back of the net.