It was almost 2-0 two minutes later but Vida and Vedran Corluka collided as the pair tried to reach Rakitic’s teasing free kick.
The Czech Republic failed to register a single shot in the first half but there was a brief suggestion the tide would turn after the break.
Ladislav Krejci forced Danijel Subasic to his first save of the game as Pavel Vrba’s side approached the game with more vigour.
But any chance of a revival looked to have ended when Rakitic deservedly grabbed a goal to put Croatia 2-0 ahead after 59 minutes.
Marcelo Brozovic won the ball 30 yards out and immediately found the unmarked Rakitic racing through – and he produced an impudent finish to lift the ball past Cech.
Luka Modric was replaced as Croatia sought to close the game out, before Mandzukic should have made it 3-0 after 67 minutes instead of firing over with the goal gaping.
Out of the blue, the Czechs grabbed a lifeline with 15 minutes left when Skoda headed in Tomas Rosicky’s brilliant cross to give them hope.
After being so comfortable Croatia were nervous and a break in play, after several flares went off to spark crowd trouble – which had Croatian players appealing for calm, saw 10 minutes of injury time.
And in the third minute of time added on Vida handled the ball inside the area, with Necid hammering in the penalty to earn what had looked an unlikely point.