Kerala Blasters and Atletico de Kolkata will once again compete for the Indian Super League (ISL) trophy, a rematch of the 2014 final, after Kerala saw off Delhi Dynamos on penalties in a tense and dramatic night at the Jawaharlal Nehru Stadium in New Delhi on Wednesday.
As is often the case with penalties, there is a hero and a villain once the smoke clears. Florent Malouda was the "villain" for Delhi, sending his spot-kick high and wide into the Delhi sky. Delhi did not convert a single one of their penalties.
Sandip Nandy was the "hero" for Kerala, saving the decisive kick off midfielder Memo, as his team won 3-0 after the teams were tied 2-2 at the end of extra time.
During the course of those 120 minutes, Malouda had been the best player on the pitch, driving 10-man Delhi forward with run after lung-bursting run. Nandi had been far from convincing in his keeping, fluffing his lines on numerous occasions, including Delhi's second goal of the night.
However, such is the cruel nature of football. An ecstatic Nandy will play the ISL final in front of his home crowd in Kochi. A despondent Malouda will have to go back home, filled with regrets and what could have been.
Delhi dominated the contest for a 2-1 victory - Kerala won the first leg 1-0 - but they could not find the all-crucial third goal, as Kerala sat back, soaked in the pressure and waited till the end to land the killer blow.
The first half swung one way, and then decisively the other, in the space of 25 manic minutes, as Delhi took the lead, conceded an equaliser, got themselves reduced to 10 men, and somehow proceeded to regain the advantage just before the break.
Twenty uneventful minutes passed by before the game suddenly burst into life in the 21st. Kerala's first-leg win afforded them the luxury of playing the game on the counter, as they set up in a 4-4-1-1. Head coach Steve Coppell, however, threw in a curve-ball by playing Josu at No. 10 and Didier Kadio at left-back. That gamble backfired.
In the 21st minute, Milan Singh played a long ball on the right to the path of Richard Gadze. Gadze, though, was in an offside position, and the linesman was ready to raise his flag, anticipating a touch from the Delhi striker.
However, before the ball could reach Gadze, Gadio clawed it out of the air and pushed it straight to the path of Marcelo Pereira. Sandip Nandy was out of his line as he was not expecting the sudden interception from Gadio, and Marcelo had no problem tapping the ball into an unguarded net for his 10th goal of the season.
The score was now 1-1 on aggregate, but in their excitement to quickly score a second, Delhi committed too many men forward and left a gaping hole at the back.
Josu capitalised, flicking the ball onto the path of Duckens Nazon, who was bought into the XI in place of Kervens Belfort, the scorer of the goal in the first leg.
Delhi's right-back Lalchhawnkima was out of position, giving Nazon the time and space to run through the left-flank unchallenged, cut in past Ruben Gonzalez and Anas Edathodika, and fire a powerful shot past Toni Doblas.
That goal rattled Delhi, who momentarily lost their heads. A frustrated Doblas got mouthy, much to the anguish of the Kerala players who accused the Delhi keeper of time-wasting. Tempers started to flare, and in the 30th minute, Milan was sent off after going studs up for a challenge on Mehtab Hossein. It wasn't quite an Eric Cantona-like Thiago Cunha on Monday night, but the referee deemed it just as dangerous.
Down to 10 and behind in the tie, Delhi might have been expected to implode, but remarkably, they regained the lead just before the break, once again down to suspect keeping from Nandy, and poor awareness from Kadio.
Marcos Tebar floated a seemingly harmless cross into the Kerala box from near the halfway line. Nandy fluffed the catch, and the ball caught the head of both Ruben and Kadio before trickling over the line. Ruben was credited with the goal, but Kadio had just as big a part to play in it, much to Kerala's disappointment.
Much like Mumbai on Tuesday night, Kerala failed to make their man advantage count after the break. Instead, it was Delhi who showed just why they are the leading scorers in the league, switching to a higher gear.
Their coach Gianluca Zambrotta was equally instrumental in their dominance, as he brought on midfielder Memo in place of Richard Gadze, ensuring Delhi did not lose control in the centre. Marcelo was given a free role, and the hosts' marquee player Florent Malouda found a new spring in his step, as he made life hell for Aaron Hughes and Cedric Hengbart.
Both Malouda and Marcelo had numerous chances to win it for Delhi. Malouda came the closest, in the 78th minute, when he beat Nandy off a free-kick from Tebar, only to be denied on the line by a stunning clearance from Sandesh Jhingan.
Malouda played creator as well, putting Marcelo through on goal with a delicious back-heel in the 84th minute, but Marcelo scuffed his shot well wide.
At the other end, Kerala barely had a sniff and would've counted themselves lucky to get to full time still in the contest. They were content to simply defend deep in two banks of four.
Nothing much changed in extra time as well, as Malouda continued to run the show in attack. At 36, he still had the freshest legs on the pitch, and showed it when he went on a dribble in the 94th minute, eventually forcing a save from Nandy; Marcelo could only blast the rebound high.
Malouda had one more crack at goal, in the 100th, when he drove with power from distance. Once again, though, Nandy was on hand to parry the ball away.
As the clock ticked down to 120 minutes, the players started to tire, and one eye shifted towards penalties. Marcelo was replaced by Bruno Pelissari, while Hughes picked up an injury.
The referee finally blew his whistle for penalties. It was not the outcome Malouda or his team-mates wanted. Malouda and Pelissari blasted their penalties high, while Memo was denied by Nandy. For Kerala, Josu, Belfort and Mohammed Rafique all coolly converted; Antonio German was the only player to miss.
The record books will say that Delhi did not lose a single match at home all season. Not one person in Delhi - Malouda, Zambrotta or even the fans - will feel that way, though.