Roberto Rullo hit a three-pointer with 10 seconds left and Andrea Marusic blocked Adas Juskevicius's shot at the buzzer as Italy came back from a 15-point deficit to shock Lithuania 69-68 and reach the semi-finals of the U20 European Championship.
The Italians, who trailed by 15 points midway through the third quarter and 14 points after three quarters, allowed just seven points to Lithuania in the final period with Daniele Sandri leading the way with 16 points.
"I don't believe it," yelled Sandri after the heroics by Rullo and Marusic set off celebrations throughout the court.
Facing the huge deficit, Rullo said coach Stefano Sacripanti told the team to just stay in the game.
"He said even if you are down 20 you just have to keep playing good. And if we are aggressive on defense we can recover," said Rullo, who scored nine points.
"We knew that this would be a very difficult game. But we had a good tactic on defense and I think we can do even better. Now we have to stay focused and think about tomorrow. We can enjoy it, but we have another game tomorrow."
In Saturday's semi-finals, Italy will face France, who beat the Italians 74-66 in the first game of the tournament.
"They are very, very good. But we are a very good team too," said Rullo of the French.
The title contenders Lithuania are left to play Montenegro in the classification round for 5th to 8th place.
Juskevicius led Lithuania with 16 points while Zygimantas Janavicius scored 13 points and Mindaugas Kuzminskas had 11 points, four steals and four blocks.
Lithuania started the game very cold and watched the Italians jump out to an 11-2 lead. Donatas Motiejunas stopped the Italian run and Sarunas Vasiliaskas and Kuzminskas nailed three-pointers to start a 19-4 Lithuania surge. And Rimvydas Samulenas's team led 25-18 after one period.
Tommaso Raspino sparked an 8-0 run early in the second quarter to pull within 27-26. But it was again Lithuania's outside game which opened up the contest with triples by Juskevicius and Vytenis Lipkevicius helping give the Baltic nation a 36-31 lead at intermission.
Lithuania opened the second half with a 10-0 run to open a 46-31 lead. Italy cut it to eight points but the Lithuanians pushed it to 61-47 after three periods.
In the fourth period Marusic stepped up with all seven of his points and Italy played stifling defense and got closer and closer to Lithuania, who turned the ball over with 32 seconds left.
Before his big shot, Rullo stumbled and just barely kept his dribble before rattling home the triple with the shot clock winding down and just 10.2 seconds to play.
And then Marusic blocked Juskevicius's game-winning attempt at the buzzer from the right baseline.