Fans at London’s Wembley Stadium witnessed a tight match in the first half with both sides having just a few attempts on goal.
Spain came close to scoring in the 25th minute, but Dani Olmo's shot from the penalty spot was blocked by Gianluigi Donnarumma.
The first half ended 0-0.
Italy took a 1-0 lead with Federico Chiesa's brilliant finish after a great counter-attack in the 60th minute.
Spain had a chance to level the score five minutes later, but Mikel Oyarzabal failed to make contact with the header, missing a huge opportunity.
But Spain were more effective during the rest of the match and Alvaro Morata scored the equalizer in the 80th minute with a close-range finish assisted by Olmo as the game went into extra time.
Morata netted his third goal at Euro 2020.
Both sides failed to score during extra time and the match went into penalties.
Italy defeated Spain 4-2 on penalties for their fourth European championship final.