Roberts was a right-handed batsman who bowled right-arm medium pace. Roberts made his debut for in the 1987 Championship against Shropshire. He played Minor counties cricket for from 1987 to 1997, which included 76 Championship matches and 19 MCCA Knockout Trophy matches.
In 1988, he made his List A debut for against Kent in the National Westminster Trophy.
He played three further List A matches for, the last coming against Leicestershire in the 1993 National Westminster Trophy. In his four List A matches, he scored 94 runs at a batting average of 31.33, with a single half century high score of 54.
His appearances for entitled him to play for the cricket team He made his debut for the team in the 1990 Benson & Hedges Cup against Middlesex.
He played 16 further List A matches for the team, with his final appearance coming against Nottinghamshire in the 1995 Benson & Hedges Cup.
He scored 451 runs at an average of 26.52, with a single century high score of 121, which came against Sussex in 1990. During his career, Roberts made a single first-class appearance for the against the touring Indians in 1990 at Trowbridge Cricket Ground. In this match he scored 85 runs in a stand of 178 with Gary Brown, before he was dismissed by Ravi Shastri.
In the second-innings scored a single run before being dismissed by Sanjeev Sharma.