Croatia took a firm grip on Group B after a 2-1 win over much-fancied Germany left them strong favourites to qualify for the knock-out stages.
Goals from slot midway through each half secured a second successive group win for Slaven Bilic’s side, who are all but assured of their place in the quarter-finals ahead of the final round of group fixtures.
Meanwhile, pre-tournament favourites Germany must now beat Austria in their final game to ensure their own qualification to the last eight.
Germany had been expected to follow up their opening 3-0 win over Poland with another dominant performance and coach Joachim Low named an unchanged side.
But Croatia appeared to be reading from a different script as they looked the more dangerous of the two teams throughout after Bilic opted to promote Ivan Rakitic off the bench in a more attack-minded formation.
They took the lead following a low-key start as Srna took advantage of hesitation in the German defence to fire his side into a 23rd minute lead. The attacking midfielder was a late arrival into the penalty area and he ghosted in behind the labouring Marcell Jansen to slide a Danijel Pranjic cross past the helpless Jens Lehmann.
Rakitic should have doubled the advantage on the half-hour mark, but he blazed a side-foot shot over the crossbar from 18 yards after being picked out well by Olic’s knock down.
Christoph Metzelder could have restored parity on the stroke of half-time, but he managed to head a corner comfortably over the bar after rising above his marker on the edge of the six-yard box.
Croatia refused to sit back on their lead and Niko Kranjcar tested Lehmann with a volley from ten yards after a strong run down the right from Vedran Corluka threatened to open up Germany.
As the second half wore on, Germany began to dominate possession without ever really threatening Stipe Pletikosa’s goal, with the closest they came being a difficult half-volley from Michael Ballack which he spooned over the bar from the edge of the penalty area.
On the break, Croatia remained a threat and it was little surprise when they doubled the advantage on 62 minutes. Olic had the simple task of prodding the ball into an empty net after Rakitic’s cross was fortuitously deflected first by Lukas Podolski and then by the slow-to-react Lehmann onto his own upright and back out to the waiting striker.
Substitute Bastian Schweinsteiger and Kranjcar swapped effort at either end before Germany set up a grandstand finish by pulling a goal back 11 minutes from time. Ballack’s knock down deflected off the unwitting Robert Kovac and Podolski rifled a low shot from ten yards into the back of the net.
However, they failed to significantly up their threat and the match ended on a sour note when a frustrated Schweinsteiger needlessly pushed Jerko Leko to the ground and the referee had little option but to send him off.