Silk was educated at Christ's Hospital, and Sidney Sussex College, Cambridge, where he gained an MA in history and represented Cambridge University at cricket. A useful opener or middle-order batsman, he scored centuries in matches against Oxford University in 1953 and 1954, and captained Cambridge University in 1955. He went on to play first-class cricket for Somerset as an amateur during the school summer holidays, but gave priority to his teaching career. His highest first-class score was 126 for Cambridge University against the MCC in 1953.