Brook's double-hundred on Thursday was the first by an England batter in one-day internationals and the fastest ever in the format off 114 deliveries, three fewer than India's Shubman Gill against the West Indies last month.
England's white-ball captain took 13 off his first 24 deliveries before motoring to a 75-ball century and he made it a twin ton in the final over to underpin his side's mammoth 4-429.
Yet their fourth-highest 50-over score and best overseas total against a Test-playing nation still proved insufficient as a callow attack missing double World Cup winner Adil Rashid was put to the sword in a two-wicket defeat.
"I always say I want to make match-winning contributions and have a match-winning impact," Brook sighed afterwards.
"Unfortunately I've got 200 and it's not been match-winning. In my eyes, it doesn't matter.
"We were probably erring on the short side with our bowling which played into their hands, but to be involved in a game like that is incredible and hats off to Sri Lanka, they've played an absolute blinder there."
Sri Lanka recovered from 2-24 thanks to Pavan Rathnayake's 130 off 106 balls and knocks of 97 from both Avishka Fernando and Dasun Shanaka, despite the asking rate being in double figures for most of the reply.
However, having whittled the target down to eight runs from the final over Janith Liyanage belted Josh Tongue's penultimate delivery for six as Sri Lanka recorded the second-highest successful ODI run-chase in history.
Two defeats from two puts England in last-chance saloon territory if they are to make next weekend's final in Lahore, despite Brook's brilliance after his side were asked to bat first in Rawalpindi.
Only Dunith Wellalage escaped a sustained bashing – the left-arm spinner took 2-56, having Tom Banton caught in the deep for a fluent 50.
Joe Root became the first Englishman to 8000 ODI runs before departing for 69, ending a 159-run stand with Brook.
But Will Jacks only continued the assault alongside Brook, who reached his fourth ODI hundred with another scoop over his shoulder.
Brook surpassed Ben Stokes' England ODI-best 182 and needing 14 from the final over, got to his 200 from the penultimate ball with his 21st four to go with 10 sixes.
While he holed out from the last ball of the innings, he'd added 156 in the last 10 overs alongside Jacks, who blasted 66no off 30 deliveries.
Sri Lanka did not fold, though, despite Tongue castling Kamindu Mendis before Kusal Mendis was run out at the non-striker's end by Gus Atkinson without facing a single delivery.
Fernando rebuilt and he was within one hit of a century when a top-edge looped back to bowler Jamie Overton, ending a 166-run stand with Rathnayake.
Sam Curran leaked 103 in nine overs and after Shanaka was caught in the deep, Sri Lanka refused to surrender as Liyanage took on the baton.
Tongue gave England hope in the last over as he bowled Wellalage and Eshan Malinga but Liyanage, who finished on 61 not out, had the final say, hitting high and handsome over long-off to seal a famous win.