After three resounding defeats in a row saw Joe Root's side well beaten in the recent Test series, Eoin Morgan exacted a first dose of revenge as his world-leading white-ball side sealed victory with 27 balls remaining.
The stage was set in the first innings as England restricted the hosts to 124 for seven, silencing a bumper crowd of 67,200 – one of sport's biggest congregations since the Covid-19 pandemic struck – with Archer helping himself to three for 23.
That was never likely to be enough to worry a stacked England line-up, even on a tricky surface, and Roy's bullish 49 at the top of the order left no doubt. Jonny Bairstow and Dawid Malan finished things off with a handful of sixes, including the latter's winning blow over the top.
England captain Morgan started the evening by springing a couple of surprises, leaving Moeen Ali out of the XI and then handing his sole spinner, Adil Rashid, his first ever new ball stint in the format.
Rashid typically does his best work through the middle overs but he set a strong tone, allowing just two off the first over. Archer kicked off at the other end and duly upped the ante, turning in a wicket maiden and seeing off the world's number three batsman, KL Rahul, who dragged down his own stumps with just a single to his name.
Captain Virat Kohli was next up and, after wearing an early blow from Archer on the glove, he was on his way for a five-ball duck – his third scoreless knock of the tour and second in a row following the fourth Test. Rashid was responsible this time, drawing him into an unusually inelegant hack to mid-off and fully justifying Morgan's switch-up.
England turned a good powerplay into a brilliant one when Mark Wood joined the attack, cramping Shikhar Dhawan from round the wicket before taking out leg stump at 92mph.
That left India on 22 for three, with a quite outrageous reverse-scooped six from Rishabh Pant against Archer their only real moment of joy.
Pant (21) flicked Ben Stokes straight to Bairstow to make it 48 for four at halfway and India would have been down and out without Shreyas Iyer's measured 67. He hit eight fours and one six as he shouldered almost all of the responsibility for making things competitive.
Archer reasserted himself, lighting up his second spell with two wickets in two balls. The dangerous Hardik Pandya fell first, chipping to mid-off, and Shardul Thakur pulled a lively bumper straight to long-leg. Chris Jordan closed out the innings, taking Iyer with him courtesy of a fine catch from Malan.
That done, Roy got cracking. There was four off Bhuvneshwar Kumar's third ball, a swipe for six off Yuzvendra Chahal and then a cut shot mis-fielded for four.
Buttler survived a close lbw shout from Patel before fully joining the fun, but followed by stroking a boundary through cover and hammering a huge six over long-on. At the end of the powerplay, the pair had wiped exactly 50 from the target and all but settled the result.
Buoyed by the scoreboard, Roy heaved Patel for six more and treated Chahal to the same treatment. The Surrey opener had ended 2020 with a string of modest scores but this was a reminder of his ability to go hard and early to change equations quickly in his side's favour.
Chahal's leg-spin pinned Buttler in front for 28 to ease the one-sided tone and Roy was gone one short of a half-century when Washington Sundar's innocuous loosener won an lbw.
With Malan anchoring at three, Bairstow had some fun with two mighty sixes down the ground that left Chahal nursing an economy rate of 11.
The Yorkshireman exchanged some heated words with Sundar when the bowler accused him of obstruction – his primary sin being taking a blow to the helmet at the non-striker's end. Bairstow finished with 26 not out, passing over to Malan to end things with a big hit off Sundar.