Brazil have booked their place in the Olympics gold medal match after beating Mexico 4-1 on penalties after the game finished 0-0 after 120 minutes.
The Seleção thought they had been given the perfect opportunity to take the lead after 28 minutes when Douglas Luiz was fouled in the box but the referee overturned his original decision after being referred to VAR.
But after a pulsating opening 45 minutes the game drifted out and developed into a cagey semi-final until the inevitability of a shootout became reality.
Dani Alves scored the opening penalty, just beating Guillermo Ochoa before Santos denied Eduardo Aguirre.
Brazil scored their next three penalties through Gabriel Martinell, Bruno Guimaraes and Reinier to seal their spot in Saturday’s final.