Yorkshire 257 for 9 (Duke 87, Tattersall 55) beat Glamorgan 234 (Carlson 64, Shutt 4-46 ) by 23 runs
A polished Yorkshire display with bat and ball on a used pitch which got slower and slower inflicted a first Royal London Cup defeat of 2022 on champions Glamorgan at Sophia Gardens.
The Vikings won an important toss and compiled what proved a commanding score of 257 for nine, winning by 23 runs as the Welsh side could only muster 234 all out inside 49 overs.
Yorkshire won for the third time in four Group B games, leapfrogging Glamorgan into the all important top three qualifying places. This ended the hosts' two-game winning start to their title defence.
Yorkshire opener Will Fraine crashed four boundaries in four balls off James Weighell in the contest's fifth over, which went for 21, after Tattersall had elected to bat.
Fraine was the most aggressive batter on show for 40 off 40 balls.
That Glamorgan captain Kiran Carlson only hit two boundaries in 64 as he tried to steer the chase indicated just how tricky the pitch had become on a blazing hot Cardiff day.
Shutt's career best haul came in only his seventh List A game, while Matthews Revis and Waite supplemented his work with two wickets apiece.
New ball seamer Ben Coad impressed with a miserly one for 26 from his 10.
Both sides dropped catches, but their ground fielding was without fault as the run-rate was squeezed.
Glamorgan's hopes had long gone by the time last pair Weighell (33) and McIlroy shared 42 from 192 for nine in the 43rd over.
Given the margin of victory, you could look at that aforementioned fifth over of the match which yielded 21 from Fraine's blade as being key to the outcome.
Just as important, though, was a 90-run partnership for the fourth wicket between Duke and Tattersall to hold Yorkshire's innings together from 112 for three in the 26th over.
Tattersall's impressive day later continued when two bowling changes - Revis and then Waite - yielded immediate success in their first overs back.
One of those was Revis getting Carlson caught at midwicket by the captain as the chase fell to 146 for six in the 32nd over. A Glamorgan recovery from there was as steep as the valleys which surround this city.