He made his first-class debut in 2006, playing 15 first-class matches and 16 One Day matches before being called up for the third One Day International between Bangladesh and New Zealand in Chittagong. Batting at number three, he made just 12 runs as Bangladesh lost by 79 runs.
He made his Test debut in November 2008, playing the first match of a series in South Africa. He opened the batting on his debut, but made just 10 and 4 in his two innings, being dismissed twice on the second afternoon of the match.
Bangladesh failed to progress beyond the group stage of the 2011 World Cup; Kayes was Bangladesh's leading run-scorer in the tournament with 188 runs at an average of 37.60. During the tournament, he produced two Man-of-the-Match performances, striking fifties against England and the Netherlands to help Bangladesh to victory on each occasion, though he felt bowler Shafiul Islam deserved the first award instead. With Manjural Islam Rana he became just the second Bangladesh player to win consecutive Man-of-the-Match awards in ODIs.
The BCB founded the six-team Bangladesh Premier League in 2012, a twenty20 tournament to be held in February that year. An auction was held for teams to buy players, and Kayes was bought by the Sylhet Royals for $50,000. He scored 102 runs from 7 innings in the competition. In April the BCB upgraded Kayes' central contract from grade B to grade A.