James Taylor and Jos Buttler tamed a tricky WACA pitch as England claimed a three-wicket victory over India to set up a Tri-Series final against Australia.
With India all out for 200 batting first and England at one stage slumping to 66 for five, runs were at a premium throughout this must-win match.
But Taylor and Buttler were the coolest customers on show as they took the initiative with a stand of 125 - a mature match-winning effort.
Taylor’s 82 was a hard-fought innings, with the number three digging deep for 122 balls, while Buttler’s 67 bristled with intent.
England may yet come to view their success, with 19 balls remaining, as a mixed blessing, with the dominant host nation waiting in Sunday’s showpiece.
Ashes nemesis Mitchell Johnson will be back on duty then and will have eyed the occasional examples of variable bounce with glee.
But for now England are celebrating consecutive wins over India, who have gone 10 matches without victory since arriving Down Under.
While England’s sixth-wicket pair will take the plaudits, the bowling attack was also in rude health.
All five took wickets, with Steven Finn’s three for 36 continuing his recent renaissance.
Had Ian Bell got into his stride, England’s chase would surely have been a simple one.
He lingered only 13 balls but seemed completely comfortable until Mohit Sharma persuaded one to stay low for an lbw.
That should have been a minor setback but it quickly became apparent that India’s total was competitive.
Moeen Ali made a sketchy 17 before losing patience with Axar Patel and holing out to long-off.
Joe Root should have been an ideal candidate to restore calm, but instead lasted just two balls as the innocuous Stuart Binny gathered a simple caught and bowled.
If 44 for three was bad, then 66 for five was verging on calamitous.
Captain Eoin Morgan eked two runs before chipping Binny to mid-on, a soft way for the captain to go, and Ravi Bopara was even more timid in defeat.
All Binny had to do was hang an innocuous short ball outside off stump, with Bopara leaning back and guiding it gently to backward point.
England were caving under pressure but found a seam of steel in Taylor and Buttler’s partnership.
Taylor played the anchor role to a tee, working regular singles and refusing to take unnecessary risks.
Slowly but surely he gained the upper hand, with Buttler proving the perfect foil.
He shelved most of his party tricks but still managed seven boundaries as he counter-punched brilliantly.
It was a shame neither man saw the finish line, both caught in the outfield with 10 and eight runs still needed.
But the result was settled in the 47th over, with Ravindra Jadeja’s no-ball yielding the winning run.
Earlier in the day, Indian openers Ajinkya Rahane and Shikhar Dhawan endured a nervy start but with England bowling a fraction short they were able to hang on.
Gradually Rahane and Dhawan wrestled control of the situation, posting 50 in 82 balls and steering their side to the 20-over mark at 83 without loss.
That should have formed the basis of a strong total but all 10 wickets fell for 117 runs, starting when Chris Woakes prised out Dhawan.
It was no more than a loosener but the out-of-form opener still managed to offer his outside edge.
India fans were delighted to see Virat Kohli promoted to number three but his response was dismal, managing just eight before holing out senselessly to Moeen.
Suresh Raina was even more compliant, charging the spinner almost immediately and spraying a simple catch to backward point.
Rahane nursed the score into three figures but lost another partner when Ambati Rayudu gave Stuart Broad a long-awaited first wicket of the series.
The powerplay saw India lose further ground, with just 23 runs scored and Steven Finn taking out Rahane and Binny - the latter courtesy of a stunning slip catch by Bell.
When Mahendra Singh Dhoni was seventh man out - lbw to James Anderson five balls after having his helmet rattled by the seamer - India looked down and out.
But a surprise last-wicket stand between Shami and Mohit Sharma added 35 runs, which might have been enough had Taylor and Buttler not held the line so calmly.