Qazim Laci put Albania in front during the early stages and their advantage was deserved at the break, yet Croatia dominated for large periods of the second half in Hamburg.
Andrej Kramaric and a Gjasula own goal secured the turnaround, but the drama was far from over as the latter fired home from inside the area in the 95th minute to earn his nation what is a tournament-saving point.
While the draw keeps both nations in the competition, they face the prospect of having to defeat Italy and Spain in their final Group B fixtures to stand a realistic chance of progressing to the last 16.
Albania repeat early goal from Italy game
The notable team news from the Croatia camp was the recall for veteran Ivan Perisic, who started at left-back with Josko Gvardiol moving inside and Marin Pongracic dropping out.
As for Albania, Chelsea forward Armando Broja missed out on a starting role with free-scoring Sivasspor attacker Rey Manaj chosen in his place.
In a sun-kissed Hamburg, Croatia dominated the opening exchanges with Albania prepared to sit deep, but the minnows of the competition incredibly scored their second early goal of the tournament in the 11th minute.
Jasir Asani bided his time on the ball out on the right, waiting for a run from a teammate. It was Laci who took responsibility, sprinting 25 yards to get in behind Perisic and glance an inswinging delivery past goalkeeper Dominik Livakovic.
The pattern of the game remained set, with Albania remaining deep and breaking in their droves, yet it took until the 21st minute for Croatia to threaten a goal as Marcelo Brozovic sent the ball wide of the far post from distance.
Bruno Petkovic should have also done better with a header from eight yards out, and it almost cost Croatia as Albania squandered a golden opportunity at the other end, Kristjan Asllani somehow failing to beat Livakovic having gotten in behind the defence.
In the final moments of the half, Manaj was also guilty of failing to double Albania's lead, sending a header straight at Livakovic from in front of goal.
Dalic reacts to poor opening 45 minutes
Zlatko Dalic wasted no time in tinkering with his Croatia side, making two changes as Luka Sucic and Mario Pasalic were introduced in place of Brozovic and Lovro Majer.
Within five minutes of the restart, Sucic should have scored having found space inside the area, only for goalkeeper Thomas Strakosha to remain big and parry his effort away from danger.
That was the catalyst for a sustained spell of pressure from Croatia as Albania dropped deeper and deeper, their attackers - possibly jaded from their first-half efforts - feeding on mere scraps.
To their credit, Albania responded in brief flurries, giving their backline a well-earned breather, yet as the game entered the final quarter, Pasalic sent another header over the crossbar at the far post.
Croatia's equaliser finally came with 16 minutes remaining. Kramaric had been ineffective for much of the contest, but the 33-year-old - on his birthday - showed the composure required in the big moment when needed, wrong-footing an Albania defender before slotting the ball inside the near corner from 10 yards.
Albania's hearts broke when Croatia went ahead shortly afterwards. After Kramaric combined with Ante Budimir, the latter pulled the ball back where an Albania defender struck the ball against the helpless Gjasula and into the net.
That goal knocked the stuffing out of Albania and it felt that a fourth goal of the contest was far more likely to come from Croatia as the game approached a conclusion.
However, Sylvinho's side made a mockery of that perception. Gvardiol had bravely prevented Mirlind Daku from volleying home from close range, but it only set up Gjasula for his famous moment, the Darmstadt 98 midfielder - who had been introduced as a substitute - sweeping home from 12 yards to send Albania fans into delirium as they collected just their fourth point at a European Championship.
Man of the Match
Both sides had contenders for the man of the match accolade, yet we cannot give it to anyone else but Gjasula, who was only on the pitch for 18 minutes plus seven minutes of added-on time.
The 34-year-old had never scored for his country and has just one club goal to his name since the start of 2020-21. Realistically, the veteran has just become the answer to a quiz question that will stand the test of time.
When do Croatia, Albania play again at Euro 2024?
The remaining fixtures for Croatia and Albania will each take place on Monday at 8pm, BST, with Croatia facing Italy and Albania squaring off against Spain.