Tillakaratne Dilshan produced one of the best batting displays ever seen in Twenty20 cricket as Sri Lanka thrashed the West Indies by 57 runs at the Oval, in London, and entered the final of the World Twenty20 on Friday.
They will meet Pakistan, who beat South Africa in the first semi-final, in Sunday's title showdown.
The right-hand opener carried his bat through the innings with a glorious knock of 96 that helped the Lankans post a competitive 158 for five after being put in to bat.
His 52-ball innings, which was studded with 12 boundaries and two sixes, is the third best score in all Twenty20 internationals, after Chris Gayle's 117 (against South Africa) and Ricky Ponting's 98 not out (against New Zealand) in February 2005.
Indeed, Dilshan has been virtually unstoppable. This was his third half-century in the tournament and he now leads the run charts with 317 runs in six innings at 63.40, with a tally of 46 boundaries and three sixes overall.
With a mountain to climb, the West Indies run chase never got off the blocks as Angelo Mathews claimed three wickets in the opening over to write finis to whatever hopes they may have entertained of making it to the final.
Captain Chris Gayle helped avoid the blushes with an unbeaten knock of 63 from 53 deliveries, inclusive of eight boundaries and two sixes, and was the only Windies batsman to cross double figures.
Electing to field, the West Indies must have been quietly pleased watching the Sri Lankan openers struggle for the first three overs. But Dilshan decided he had enough of playing with the straight bat and started to unleash his typical behind-the-wicket shots.
Jerome Taylor bowled a good short delivery and Dilshan played an almost late pull shot, tipping the ball over the wicketkeeper for a boundary. The next ball he played a fine paddle sweep and dispatched a full toss for the first six of the innings that took Sri Lanka to 23 from four overs.
Dwayne Bravo suffered in his first over when Dilshan slashed him through point for consecutive boundaries and followed it up with a straight boundary two balls later. Dilshan had raced away to 27 from 12 deliveries, but Jayasuriya was struggling with just eight from 18 deliveries.
The introduction of spinners -- Sulieman Benn and Chris Gayle -- after the fifth over did help slow down the proceedings a bit. Benn bowled his first two overs for 10, while Gayle conceded just three in his first over as Sri Lanka reached 50 after eight overs.
Dilshan then decided it was time to take on Gayle and promptly hit him for a boundary and a slog sweep for a six in the ninth over.
Even though Jayasuriya was struggling to find his bearings, Sri Lanka were comfortably placed at 72 for no loss after ten overs.
Hammered for three boundaries in his first over, Bravo single-handedly scripted a turnaround with two wickets in his second over.
The struggling Jayausriya, who changed his bat twice, was the first wicket to fall. He walked across his stumps and flicked straight to the short fine leg fielder after a subdued innings of 24 from 37 deliveries, inclusive of three boundaries. (73-1, 10.3)
Two balls later, captain Kumar Sangakkara was out for a duck off the second ball he faced. He lashed at a wide delivery from Bravo but Keiron Pollard jumped to pluck a sharp catch. (73-2, 10.5)
Pollard then did the trick with the ball too. The medium pacer was lucky to get Mahela Jayawardene, who flicked it straight to the short fine leg fielder and was out for 2. (77-3, 11.3)
With three wickets in the space of eight deliveries, the West Indies managed to keep things tight as just 26 runs came from five overs, with Sri Lanka reaching 98 for three after 15 overs.
Bravo's rollercoaster day continued and he was taken for 18 runs in his third over. Dilshan took the medium pacer to the cleaners with four boundaries in that over to race to 85 from 49 deliveries, and a hundred in sight.
At the other end, Chamara Silva fell for 11, trying to play a reverse sweep against Benn. (127-4, 17.2)
Jehan Mubarak also departed early in the pursuit of quick runs when he was caught for 7 off Taylor in the 19th over. (134-5, 18.3)
But Dilshan slammed Taylor for a boundary through square off the final delivery of the over to move into 90s, with the final over to come.
In the final over, Dilshan could not get away his big shots. At the other end, Angelo Mathews smashed a six and boundary off consecutive deliveries to keep the runs coming. With six needed to get his hundred and the final delivery to come, the entire crowded started cheering "Dilshan, Dilshan" but he could only manage two of it and finished four short of a hundred.
Dilshan was unbeaten on 96 from 57 deliveries, inclusive of 12 boundaries and two sixes, as Sri Lanka collected 158 for five in their 20 overs.
With the bowlers Sri Lanka have at their disposal, the West Indies face an uphill task.
All hopes that the West Indies had of chasing down the target effectively ended in the first over when Mathews claimed three wickets. He knocked down the stumps thrice in the space of six deliveries for the wickets of Xavier Marshall, Lendl Simmons and Dwayne Bravo for ducks.
Sri Lanka had made a roaring start with the ball.
Marshall fell to the second delivery he faced when he played on to his stumps and was bowled for a golden duck. (1-1, 0.2)
Simmons shuffled across his stumps but ended up losing his leg stump to register another duck for the Windies. (1-2, 0.4)
Two deliveries later, Bravo made a late decision to leave a delivery that took the inside edge and disturbed his stumps. (1-3, 1)
The entire stadium was left stunned; many could not believe what they had just witnessed, and you wouldn't want to hear about the plight of a few West Indies fans in the stands.
The first boundary for the West Indies came in the third over when Gayle got an edge off Mathews. In the next over from Lasith Malinga, he brought a few smiles back in his camp by hitting three boundaries to take the West Indies to 20 for three after four overs.
Isuru Udana was dispatched quite easily by Gayle over the long-on fence for the first six of the West Indies innings in the sixth over.
Sri Lanka's wrecker-in-chief with the ball Mathews bowled his four overs on the trot to finish with top figures of three for 16.
Ajantha Mendis then struck in his second over, with the wicket of Shivnarine Chanderpaul for 7. The left-hander moved across his stumps and tried to sweep but was beaten by the quicker delivery and trapped right in front of the stumps. (43-4, 8/2)
Ramnaresh Sarwan, on 2, got a lifeline when his lofted shot off Malinga, in the 11th over, was dropped by Mendis at long-on. However, he fell in the next over attempting the same shot and was caught for 5 as Muttiah Muralitharan started with a wicket in his first over. (64-5, 11.1)
Gayle despatched the next delivery for a boundary, cutting a short delivery to the point region. He then took a single to complete his half-century off 39 deliveries, having hit eight boundaries and a six.
Pollard never really got going as he made 3 from 10 deliveries before he was stumped down the leg side off Muralitharan. (75-6, 13.3)
Denesh Ramdin started with a couple of boundaries to race to 9 but became Udana's first victim of the innings when he lofted a simple catch to the cover fielder. (86-7, 14.5)
Gayle continued to battle despite the flurry of wickets at the other end. He slammed Muralitharan for a huge six over midwicket.
Jerome Taylor tried a wild heave across the line against Muralitharan but was caught on the leg side for 2. (95-8, 15.3)
In the next over, Mendis got the wicket of Darren Sammy, caught at point region for 1 to finish with amazing figures of two for nine in four overs. (97-9, 16.2)
Malinga ended in style when he bowled Benn with a fast swinging yorker for a duck in the 18th over. Gayle finished unbeaten on a fine knock of 63 from 50 deliveries, inclusive of eight boundaries and two sixes, as the West Indies were dismissed for 101 and lost by 57 runs with 14 deliveries to spare.
It was a pitiful performance by the Windies batsmen; only Gayle managed to get into double figures as four batsmen went for ducks.
Ramdin was the only other batsman other than Gayle to register a boundary when he hit two fours in his innings of nine.
It was Matthews who finished off the West Indies even before they could start their chase, claiming three wickets in the first over of the innings.