After making his debut, Coles played one more first-class match in 2009, appearing in Kent's final County Championship match of the season against Gloucestershirein September 2009. He also made four appearances in the Pro 40 tournament for the county during 2009. Coles became a regular in Kent teams the following season. He reached his maiden first-class century against Yorkshire by hitting a reverse sweep for six in April 2012. He was awarded a county cap in August 2012. During the 2012 season Coles took 59 first-class wickets, and earned a call up to the England Lions squad. He took two wickets on his Lions' debut in May 2012 and was included on the Lions' tour of Australia in 2013. He was sent home early from the tour along with Ben Stokes for drinking beyond curfew hours more than once.
Move to Hampshire, 2013
Coles turned down a new contract offered by Kent in August 2013 and, after initially attracting attention from Derbyshire, signed on loan for Hampshire until the end of the season. In Hampshire's last game of the season against Essex, Coles took match figures of 10/154 and later in the same month signed a 3–year deal.
Return to Kent, 2015
Coles took 41 wickets in 13 County Championship matches for Hampshire in 2014 as well as 27 wickets in one-day competitions. He scored an 18 ball half-century in the T20 Blast but was released by Hampshire in March 2015 after only one year with the club saying that he had not "settled" at the county. He returned to Kent in the same month and took 100 wickets in all formats for Kent in the 2015 season and won the Kent Player of the Year award at the end of the season, and was chosen in the Professional Cricketers' Association Team of 2015 in September 2015. He was nominated as part of a four-man shortlist as the Professional Cricketers' Association Player of the Year. During the season, Coles scored a century against Surrey at The Oval in the Royal London One-Day Cup quarter final, took ten wickets in the County Championship match against Leicestershire and took a hat-trick against Nottinghamshire in the One-Day Cup. During the season he signed a long-term contract extension with Kent. During the 2016 season Coles' behaviour caused him to be investigated by Kent and led to him missing a number of matches during the middle of the season. He was also suspended for two County Championship matches by the ECB in May after being found to have thrown the ball in a "dangerous manner", although Coles claimed he was returning the ball to the wicket-keeper. He played regularly for Kent when available and performed well enough in the 2016 Royal London One-Day Cup to be selected automatically for the North v South match to be played at the start of the 2017 season in the United Arab Emirates and was also selected in the MCC side for the 2017 Champion County match but withdrew from both matches to rest a toe injury. Coles began the 2017 season as a regular member of the First XI in all forms of cricket. He travelled to the Caribbean with the team to take part in the 2016–17 Regional Super50 List A competition in February, playing in five matches and taking nine wickets during the competition, before opening the 2017 County Championship as one of Kent's main strike bowlers. In July he took a hat-trick in a T20 match against Middlesex at Richmond. After the end of the 2017 season Coles joined Essex on a two-year contract.
Twenty20 franchise cricket
During the 2016 English off-season Coles signed for Dhaka Dynamites to play Twenty20 cricket in the 2016–17 Bangladesh Premier League. Coles signed for Dhaka after the tournament had begun in order to develop his T20 skills. He made his debut for the team on 17 November against Chittagong Vikings and went on to play in three matches for Dhaka, scoring 23 runs and taking two wickets. The team won the 2016–17 BPL, although Coles did not play in the final. Coles had previously applied to join the BPL draft in advance of the 2015–16 season, but had to withdraw after requiring an operation on an injured foot.