As a Primeira Liga team, Braga entered the 2012–13 Taça da Liga in the third round. The third round consisted of three group stage matches with the group winner progressing to the semi-finals. Braga were drawn in group B, alongside Primeira Liga sides Vitória de Guimarães, Beira-Mar and Segunda Liga's Naval 1º de Maio. Their opening match was an away goalless draw against Minho rivals Vitória de Guimarães. For their second group stage match, Braga played away at Naval 1º de Maio's Estádio Municipal José Bento Pessoa. Braga defeated the Navalistas 2–1. Naval took an early lead through Paulo Regula, but Braga equalised on twenty-three minutes through Maximilian Haas. Following the break, Braga's manager José Peseiro brought on first-team regulars Éder, Ismaily and Mossoró, in an attempt to win the game. Peseiro's substitutions paid off as Braga were awarded a penalty eleven minutes before the end, after Carlitos fouled Éder in the penalty box. Custódio converted from the spot and gave Braga the three points. Braga's third group stage match was at the Estádio AXA against Beira-Mar. Braga defeated the Auri-negros 3–0. Peseiro's squad selection saw him start several fringe players with little playing time in order to rest some of his first-team regulars. Braga opened the scoring through Carlão, on thirty-seven minutes. MidfielderRúben Amorim doubled Braga's lead before the break. Hugo Viana scored in the second half to make it three and thus grant Braga passage into the semi-finals.
In the semi-finals, Braga played host to group D winners Benfica. After a goalless ninety minutes where Braga provided more attacking threat than Benfica, the game was decided by a penalty shoot-out. After each side had taken four penalties each, the score was 3–2 to Braga. Benfica's final penalty taker was Nicolás Gaitán but as his shot was saved by Quim, Braga emerged victorious and headed to the Taça da Liga final for the first time in their history.
Just like their opponents, Porto entered the competition in the third round, where they were drawn into group A alongside Primeira Liga opponents Estoril Praia, Nacional and Vitória de Setúbal. Porto's first group stage game was away against Nacional on 19 December. Porto defeated the Madeiran side 2–0 with goals in each half from Lucho González and Nicolás Otamendi. Porto's second group stage match was an away tie at Estoril's Estádio António Coimbra da Mota. Estoril took the lead on fifteen minutes through central defenderSteven Vitória. Porto equalised on thirty-one minutes through Jackson Martínez, who headed the ball past an on-rushing Mário Matos. The Canarinhos retook the lead on the hour mark, after Steven Vitória converted from the penalty spot to double Estoril's goal tally. On the eightieth minute, Porto tied the game through João Moutinho, who fired the ball into the top left corner of the goal from twenty-five yards. Their third and final group stage match was against Vitória de Setúbal, on 9 January. Porto defeated the Sadinos 1–0. João Moutinho scored the only goal of the game from the penalty spot before half-time, after Sebá had been fouled in the penalty box by Vitória's Nélson Pedroso.
In the semi-finals, Porto hosted Rio Ave. The first half saw the home side dominate possession but not break through Rio Ave's defense. James Rodríguez broke the deadlock from the penalty spot, on fifty-seven minutes. On seventy-two minutes, Fernando doubled Porto's lead after Steven Defour received the ball on the left wing and found an unmarked Fernando, who slotted the ball into the net. After assisting for Porto's second goal, Defour was assisted by André Castro to score the third. French central defenderEliaquim Mangala closed the scoring in injury time.
Match officials were confirmed on 11 April, when João Capela of Lisbon was named the referee for the final. This was the first time that Capela officiated a final of a major competition in Portugal. Capela was assisted by Tiago Rocha and Ricardo Santos, both of Lisbon, while the fourth official was Manuel Mota of Braga.
Tickets for the final went on sale on 6 April. A third of all tickets had been sold, two days prior to the final. The LPFP allocated tickets for both finalist clubs at a price of €10, while prices for the general public varied between €15 and €25.
Braga went into the Taça da Liga final with only center forwardÉder missing. Éder had sustained an injury two months prior to the final in the semi-finals of this competition against Benfica, where he ruptured ligaments in his right knee. Braga coach José Peseiro included central defenderDouglão in his squad's who had just recuperated from an injury at the time the final was going to take place. Douglão had been injured since December. The exclusion of Éder from the squad would see the surprise squad selections of reserve team players Aderlan Santos and Mauro. Braga lined up in a 4–2–1–3 formation. There were several key debates in who will fill certain positions. Braga's starting line-up saw the surprise start of Aderlan Santos in defence, as well as Rúben Micael being selected ahead of Rúben Amorim in midfield. Carlão would be selected ahead of Zé Luís, as a replacement for Éder, who was unavailable for the game due to injury.
Just like their opponents, Porto were missing several players going into the final. Both Maicon and Héctor Quiñones were unavailable for the game. Maicon had sustained an injury in the buildup to the final, whilst Quiñones was left out of the final squad by Vítor Pereira. Both Eliaquim Mangala and Russian midfielderMarat Izmailov were injury doubts for the game, but recuperated in time for Vítor Pereira to include them in the final squad. Apart from the inclusion of Mangala and Izmailov, Vítor Pereira also included Brazilian forward Kelvin to be part of the squad. Porto lined up in a 4–1–3–2 formation. Despite Braga playing a strengthened side who had regularly played together in the Primeira Liga, Porto lined up with several fringe players. Vítor Pereira's starting eleven saw Fabiano start in goal, Abdoulaye Ba partner Mangala in the centre of defence, and Belgian midfielder Steven Defour start on the left wing ahead of Marat Izmailov.