Yorkshire 339 for 4 (Bairstow 174, Root 55, Weighell 3-60) beat Durham 335 for 5 (Cook 106, Richardson 100*, Jennings 72) by six wickets
Record-breaking Jonny Bairstow scored a sensational career-best 174 as Yorkshire cruised to a target of 336 to beat Durham by six wickets at Headingley.
Yorkshire maintained their 100% start to this season's Royal London Cup with a third North Group win as they reeled in their record chase in List A cricket with 2.2 overs to spare.
Ultimately, Durham will be frustrated at not taking full advantage of an excellent start to their innings at 248 for 1 in the 40th over after they had elected to bat. They lost 4 for 32 to slip to 280 for 5 and should have posted more in good batting conditions.
Bairstow then showed them the way with a remarkable batting display before he and Root link up with England for two ODIs against Ireland this weekend.
Bairstow posted the highest ever List A score at Headingley on the way to his county's record chase, with the pair sharing 189 for the second wicket inside 26 overs.
"I got a bit of a chance, and as we know you have to take every chance you can get," Bairstow said. "I missed one the other night, and luckily it didn't cost us too much. When you get a chance, you want to go on and make it pay."
Yorkshire are already on course for a home semi-final next month after earlier wins against Nottinghamshire and Lancashire.
Durham, who started the competition with minus two points, have now won one, lost one and had the other washed out.
Durham built their innings around measured Cook, who later dropped Bairstow on 71 at long-off. He shared stands of 124 for the first two wickets with Keaton Jennings (72) and Richardson, and he went on to post 106 off 114 balls, his second score above 50 in two matches.
Yorkshire allrounder Matthew Waite took an impressive 2 for 53 from his 10 overs having come into the side in place of David Willey. Steve Patterson also replaced Liam Plunkett from Monday's win over Lancashire here. Waite took one of four wickets to fall as Durham lost momentum.
He had earlier got Jennings superbly caught at deep midwicket by Peter Handscomb as the left-handed Durham skipper aimed for a third six in his 64-ball knock. Waite then had Graham Clark caught at midwicket.
Jennings hit two of six sixes in the Durham innings, with Cameron Steel doing likewise in a late 22 not out off 14 balls as 36 came off the last three. Unbeaten Richardson reached 100 off his 87th delivery, the last of the Durham innings.
Yorkshire lost Adam Lyth in the ninth over of their chase, but they had already moved to 60 when he pulled Chris Rushworth to deep square-leg.
Bairstow was in dominant mood and made Durham pay for Cook dropping him off the spin of George Harding. He hit seven leg-side sixes and 16 fours on the way to 50 off 32 balls, 100 off 70 and 150 off 97 as he toyed with the visiting bowling attack.
Yorkshire reached the 30-over mark at 218 for 1 before Root reached his second fifty in three matches off 60 balls with three fours. The pair fell in successive James Weighell overs - Bairstow caught behind and Root chopped on - as the score fell to 254 for 3 in the 36th over.
But Durham still did not look like recovering. Gary Ballance, who stood on his stumps against Weighell and fell for 29, and Handscomb shared 71 for the fourth wicket.