Danny Duffy pitched six sharp innings and the Kansas City Royals beat the Oakland Athletics 3-0 in a rain-shortened game on Tuesday night.