Benfica have won the Taca da Liga in seven of the last eight seasons, but that streak will not be extended this year after a shock semi-final loss to Moreirense.
Instead, the final will be contested by Braga and Moreirense after the minnows beat Benfica 3-1 at Estadio Algarve.
Moreirense reached their first final in the competition despite falling behind to Eduardo Salvio's sixth-minute goal on Thursday.
But the side who finished 12th in last season's Primeira Liga fought back against the Portuguese champions, with Ousmane Drame's second-half equaliser giving them hope before a double from Emmanuel Boateng proved decisive.
Moreirense's shock campaign already saw them finish top of a group that included Porto.
Defeat comes out of the blue for Rui Vitoria's Benfica, who are four points clear of Porto at the top of the league and a massive 28 points better off than Moreirense in 15th.
Benfica had come into the game having won 10 consecutive matches against Moreirense.
Braga won the other semi-final 3-0 against Vitoria de Setubal on Wednesday. The final will be played on Sunday, again at Estadio Algarve.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.