Bengaluru won their first Indian Super League (ISL) title after an extra-time goal from defender Rahul Bheke gave them a 1-0 victory over Goa in Sunday's final.
Goa were reduced to 10 men when midfield anchor Ahmed Jahouh was sent off for a second yellow card in the first half of extra time and Bengaluru capitalised as Bheke found the net with a looping header from a corner in the 117th-minute.
It was Bengaluru's sixth trophy in six years and first league title since they won the I-League in 2016. It also kept intact the club's run of winning a major domestic competition in every season since their formation in 2013.
"We're on top of the world," Bengaluru captain Sunil Chhetri told Star Sports.
"On the 17th (of March) last year, we lost the league title (in a 3-2 defeat to Chennaiyin in the final), and today we've won the league!"
Neither side seized the advantage in a cagey first half, but it was Bengaluru who had the better opportunities to open the scoring, with Venezuelan striker Miku having two good chances.
Goa suffered a blow late in the half when left back and captain Mandar Desai pulled up with a hamstring injury. Although he tried to strap it up and play on, he had to be taken off on a stretcher two minutes later with Saviour Gama replacing him.
Goa dominated most of the second half as Bengaluru's high line, which had caught Goa's players offside numerous times in the first half, dropped deep towards their penalty box.
With 10 minutes to go, Bengaluru midfielder Xisco Hernandez slipped Miku through on goal but the striker, who has scored 20 in two seasons, saw his left-footed effort come off the post to give Goa a lifeline before the game went to extra time.
Goa were reduced to 10 men when Jahouh was booked a second time for retaliating at Miku after a foul. The Moroccan received his marching orders for kicking out at Miku's stomach as he fell to the turf.
It was the fifth time in five meetings that this fixture had a red card, including in the two league matches this season which included three sendings off.
The winner arrived three minutes before the end of extra time when Bheke's header looped just out of the reach of goalkeeper Naveen Kumar.