He was captain of Glamorgan for three seasons before retiring in 2003 after 17 seasons with the club, aged 35. He played a total of 245 first class matches, making 15,890 runs at a batting average just above 40, with a total of 47 centuries and a highest score of 309 not out against Sussex in 2000 - which is the Glamorgan record highest score. He scored more than 1,000 runs in a season nine times, with his two most prolific seasons following each other - 1,766 runs in 1996 was followed up with 1,775 runs in 1997, which led to his selection for the England A team before graduating to Test level the following season.
James was also a successful rugby player with Lydney R.F.C. mainly at the full back position. In a career spanning the 1985/86 to 1995/96 seasons he scored 140 points, including 31 tries, in 81 games.