Smith played for the Leicestershire second team for a couple of years as a teenager before making his first-class debut in the 1990 season in a game against Oxford University; he was lbw for four in his only innings, but got another chance in a County Championship match against Glamorgan a fortnight later. He made 15 not out in the first innings before Leicestershire declared, and not batting at all in the second. He did not play another first-class game that season, though he did make a handful of appearances in the Refuge Assurance League.
Smith went on the 1990-91 Under-19 tour to New Zealand, and played in all five of their matches (two "ODIs" and three "Tests"). He made no real impression with the bat, with a top score of only 44, but had some success as a bowler, taking the wicket of future New Zealand senior team captain Stephen Fleming on three occasions in the "Tests". Back in England, he had a reasonable 1991 season, making 674 first-class runs at an average of 37.44, although the highest of his 23 innings was only 71.
Smith then went through a lean spell, and despite a maiden hundred against Durham in April 1992, the nadir came in the 1993 season when Smith averaged a low 14.61 in 18 first-class innings, being dismissed in single figures on 11 occasions and only once passing fifty. Some recovery followed as he averaged just over 30 in each of the following two years, but it was 1996 that saw him return to form with three centuries including 190 against Glamorgan in August, and passing a thousand runs in a first-class season for the first time, finishing with 1,243 at 47.80 and helping Leicestershire to their first County Championship since 1975.
Two more good seasons followed, and in the final Championship game of the 1998 season Smith made his highest first-class score of 204 against Surrey as Leicestershire defeated their opponents by an innings and 211 runs. He stayed at Leicestershire for another couple of seasons, rising to the position of vice-captain, before unrest within the club led to his resignation to join Worcestershire for 2002. Meanwhile, he had enjoyed two productive seasons with Central Districts in New Zealand, hitting 201 not out against Canterbury in 2001-02 in a match where his team had lost their first three wickets by the time seven runs were on the board.
Smith found immediate success at his new county, averaging 44.51 and making four hundreds in 2002, as well as averaging over 50 in List A cricket for a combined first-class and one-day total of 2,024 runs. He was appointed captain for the 2003 season, replacing Graeme Hick, and continued in fine form that summer. However, he resigned the captaincy in the middle of the match against Northamptonshire in August 2004, handing over to Steve Rhodes for the remainder of the season on the grounds that he wanted to concentrate on his form with the bat.
In 2005 he passed 1,400 first-class runs in a season for the first time, although his form in one-day cricket was less impressive. In the final first-class match of the season, against Essex at New Road, he put on 333 for the fourth wicket with Stephen Moore before the latter was caught for 191. This established a new county record partnership for this wicket, beating the 281 that Younis Ahmed and Alan Ormrod had put on in 1979.
Smith's 2006 season was rather less successful: he failed to reach 1,000 first-class runs for the first time since 2000, hitting 915 runs at 36.60 including one score of 203 he made against Somerset in June. His form tailed off towards the end of the season, and in his last five matches he made only 163 runs in nine innings. In one-day cricket he scored 487 runs at 34.79, his highest average for four seasons.