Torreense took the lead in the 4th minute when Zohi scored following a corner kick, recording the fastest goal in a Taça de Portugal final since 2012. Shortly afterwards, Gonçalo Inácio was booked for a foul on Zohi as the forward advanced toward goal. Sporting CP responded by controlling possession and creating several chances, with Pedro Gonçalves hitting the post in the 33rd minute. Despite Sporting registering 16 shots in the first half, only two were on target, and Torreense held a 1–0 lead at the break.
Sporting equalised in the 54th minute after Maxi Araújo recovered possession high up the pitch and assisted Luis Suárez, who scored with a low right-footed shot. Both teams continued to create opportunities throughout the second half, but neither side managed to score again in normal time, sending the final to extra time. Early in the additional period, Diadié had a goal ruled out for offside for Torreense.
In the second half of extra time, Maxi Araújo fouled Ismaïl Seydi inside the penalty area following a defensive error by Sporting. After a VAR review, the referee awarded a penalty and sent Araújo off. Stopira converted the resulting spot kick to give Torreense a 2–1 lead. Despite Seydi missing an opportunity to make it 3–1 in the fourth minute of added time, Torreense still secured their first Taça de Portugal title.[4][5]
Each team was given only three opportunities to make substitutions, with a fourth opportunity in extra time, excluding substitutions made at half-time, before the start of extra time and at half-time in extra time.