Barcelona midfielder Rakitic ran the show in St Etienne as he and Perisic put Croatia in control, only for Milan Skoda to start the comeback with 15 minutes left.
Fan trouble added to Croatia's misery after referee Mark Clattenburg was forced to stop the game with four minutes left after several flares went off and fighting seemingly broke out among their fans. A steward also appeared to be hit by a flare thrown from the stands.
Croatia are already under investigation following crowd incidents in their opening 1-0 win over Turkey.
The Czech Republic, who lost to Spain in their opening game, were on the brink but gave themselves a Euro 2016 lifeline in Group D.
Croatia dominated from the start and Milan Badelj fired wide early as Rakitic pulled the strings and he fired over seconds on 21 minutes after Perisic had just missed Mario Mandzukic's cross.
Croatia pinned their opponents back without making the crucial breakthrough as the Czechs showed little ambition or belief to wrestle back control.
They could not contain Rakitic and Petr Cech saved his low effort nine minutes before the break - only for Perisic to open the scoring 40 seconds later.
It had been coming and, after Cech's stop, the Czech Republic were pushed back again when Vida's challenge on David Lafata fell to Perisic.
The Inter Milan player ran at Tomas Sivok to leave the defender frantically backpeddling, then drove an angled effort into the far corner from 15 yards.
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.
Flares have been thrown on to pitch, seems to be from Croatia end, trouble breaking out in stands between fans pic.twitter.com/kTZPT4JSMU
If you have a complaint about the editorial content of the Belfast Telegraph or Sunday Life then contact the Editor here. If you are not satisfied with the response provided then you can contact the Independent Press Standards Organisation here
COMMENT RULES: Comments that are judged to be defamatory, abusive or in bad taste are not acceptable and contributors who consistently fall below certain criteria will be permanently blacklisted. The moderator will not enter into debate with individual contributors and the moderator’s decision is final. It is Belfast Telegraph policy to close comments on court cases, tribunals and active legal investigations. We may also close comments on articles which are being targeted for abuse. Problems with commenting? firstname.lastname@example.org