Jamie Vardy struck in the fifth minute of injury time to send Leicester into the knockout stages of the Europa League with two games to spare.
The Foxes’ top scorer, who started the game on the bench, tapped in at the far post when it looked as though a goal from another substitute, Fransergio, would give Braga victory.
But Vardy’s goal booked Leicester’s place in the last 32 of the competition – a huge boost for boss Brendan Rodgers, who can now rest players for their final two games.
Jamie Vardy scored a 95th minute equaliser to book Leicester’s place in the last 16
Leicester looked to be heading for defeat until Vardy drew them level for the third time
Luke Thomas scored his first senior goal to equalise for the Foxes in the second half
Braga had led 2-1 at half-time thanks to goals from Al Musrati and Paulinho, either side of Harvey Barnes’ powerful strike. Rodgers sent on Vardy and James Maddison and Maddison set up the second equaliser for local boy Luke Thomas – his first goal for Leicester – before the late interventions from Fransergio and Vardy.
Leicester were immediately on the back foot as Braga took a fourth-minute lead. Iuri Medeiros twice had shots blocked but when the ball rebounded to Al Musrati 25 yards out, he drilled it low beyond Kasper Schmeichel and into the bottom corner.
Yet the lead lasted only five minutes. Kelechi Iheanacho made a nuisance of himself in the Braga backline, forcing a mistake that freed Barnes. The winger’s aim was true, beating Matheus at his near post to bring the Foxes level.
Braga took the lead in the fourth minute when Al Musrati finished from the edge of the box
Harvey Barnes cancelled out Braga’s opener with a finish at the near post in the ninth minute
Braga (3-4-2-1): Matheus; Tormena; Sequeira; Viana; Castro (A Horta); Esgaio; Galeno; Musrati; Paulinho (Schettine 87) ; Medeiros (Fransergio 77); R Horta (Silva 69)
Subs not used: Carlos; Rolando; Ruiz; Novais;Sa; Couto; Santos; Infande; Silva
Scorers: Musrati 4; Paulinho 24; Fransergio 90
Bookings: Musrati; Paulinho; Schettine
Leicester (3-4-2-1): Schmeichel; Fuchs (Fofana 45); Justin; Evans; Albrighton; Praet (Tielemens 45); Choudhury; Thomas; Barnes (Maddison 62); Under (Vardy 62); Iheanacho (Perez 69)
Subs not used: Ward; Mendy; Morgan; Jakupovic;
Scorers: Barnes 9; Thomas 77; Vardy 90+5
Bookings: Evans; Albrighton
It was clear, however, that this Braga side were a different proposition to the one beaten 4-0 at the King Power Stadium before the international break. They were back in front just before the half-hour mark after a one-touch passing move of superb quality.
Ricardo Horta found Medeiros, who released his team-mate with a first-time ball of perfect weight. Horta rounded Schmeichel and pulled the ball back into the centre where Paulinho was waiting to tap it in.
If Braga are impressive in attack, though, they are decidedly dodgy at the back. Another blunder, this time from Bruno Viana, let in Cengiz Under, who should have scored. Somehow, Matheus parried the first shot and the Turk failed to control the rebound on his weaker right foot.
Then Schmeichel twice kept Leicester in the game. He fumbled a shot from Paulinho from the edge of the box before recovering brilliantly to stop Horta slotting in the rebound. And then, after Braga had opened up Leicester on the left, Paulinho was denied again by Schmeichel’s right foot. In between those moments, Under again wasted a good chance to equalise by shooting straight at Matheus from inside the ‘D’.
Schmeichel was clearly furious with the defending and made his feelings known to his team-mates. Rodgers was not too happy, either, and made two changes for the second half, with Wesley Fofana replacing Christian Fuchs and Youri Tielemans coming on for Dennis Praet.
The home side were in front again in the 24th minute when Paulinho finished into an empty net
Fransergio looked to have sealed the points for the home side with a goal in the 90th minute
Leicester were sharper for their introduction but could not find the second breakthrough, as Under was denied from 20 yards by Matheus. It was Under’s last contribution to the game as he was replaced by Vardy, and James Maddison came on for Barnes.
Soon afterwards, Paulinho resumed his duel with Schmeichel as he drifted away from Fofana at the far post and powered in a header that was flicked over the bar.
With Zorya Luhansk ahead at AEK Athens, Leicester knew they needed a point for qualification. Jonny Evans wasted a good chance, to equaliser, however, when he headed wide after Vardy had flicked on Maddison’s corner.
Leicester did not have to wait long to level the match, though. Maddison created it brilliantly as he bamboozled Ricardo Esgaio on the left and drove the ball across, where Thomas reacted immediately to turn it in.
Yet with qualification within their grasp, and looking the likelier winners, Galeno broke rapidly and set up Fransergio to slide the ball past Schmeichel in the final minute of normal time. But Leicester were not to be denied and after more outstanding play from Maddison, Marc Albrighton drove the ball to the far post where Vardy steered it home.
Vardy ensured Leicester earned a point as he rounded Matheus Magalhaes to finish
Brendan Rodgers’ side now have 10 points which is enough to ensure they will qualify