Kirby started his career when he left school at the age of 16, initially on a YTS scheme at Leicestershire County Cricket Club having been discovered in his native Lancashire. While at Leicestershire he had to overcome sacroiliac instability, a chronic bad back, remodelling his action to learn to bowl fast again, but the county released him after five seasons without making an appearance.
Yorkshire
Kirby spent the summer of 2000 playing in the Lancashire and Ribblesdale League while working as a lino salesman for West Cotes Flooring in Leicestershire, at the age of 24 he had written to Stephen Oldham director of Yorkshire County Cricket Club's academy asking for a chance to resurrect his cricket career. After a net session Yorkshire offered Kirby the chance of some games in the second XI at the start of the 2001 season and after taking 12 wickets in 2 matches he entered into contract discussion but by June was back at his flooring job again. On 7 June 2001, Kirby received a phone call from Oldham asking if he could come to play for Yorkshire first XI the following day as a substitute for Matthew Hoggard in their Championship fixture against Kent. After being given time off from his day job Kirby took 7 for 50 from 24 overs to win the match for Yorkshire, the best by a Yorkshire debutant in Championship cricket since Paul Hutchison in 1997. His third match saw him face his old county Leicestershire, again Kirby was instrumental in Yorkshire's innings victory with match figures of 12 for 72. By the end of the season, Kirby had taken 47 wickets at 20.85 and played an instrumental role in Yorkshire becoming County Champions for the first time in 33 years. His performances earned him place in the first England Academy squad, based in Australia, in November 2001. The 2002 season saw Kirby back up his debut season with 37 wickets at an average of 34.10, but Kirby's best season came in 2003 when his 67 first-class wickets at 26.40 in 2003 suggested Kirby was capable of performing at the highest level. His success in the County Championship led to him being selected for the England A side to tour India in the 2003–04 winter. The following season saw him struggle with a recurrence of his back problem, and at the end of the 2004 season Kirby was released by Yorkshire, at his own request despite having a year remaining on his contract.
Gloucestershire
Following his release from Yorkshire, Kirby joined Gloucestershire County Cricket Club ahead of the 2005 season. His first season with Gloucestershire saw him take 45 wickets at an average of 26.00, despite a three-day ban for altering the condition of the ball in a match against Glamorgan in May. His consistent performances over the next couple of seasons saw him earn a recall to the England Lions squad for the tour of the India in the winter of 2007–2008. His impressive performances in 2009 with 64 wickets at an average of 22.18, saw him earn another call up to the England Lions for the start of the 2010 season for a tour match against Bangladesh A. His final season with Gloucestershire saw him take his first-class wicket tally with the club to 264. On 7 September 2010, Gloucestershire announced that they had released Kirby from the final two years of his contract after he had requested the chance to play Division One County Championship cricket to push his England claims, turning down the offer of a benefit season.
At the end of the 2010 season, Kirby left Gloucestershire for West Country rivals Somerset signing a three-year contract with the County Championship Division One side. Before linking up with his new county Kirby was involved in the MCC squad for the Champion County match taking 5 for 29, before his match was ended with a foot injury. He played in the fixture on four occasions. Kirby's first season with Somerset saw him take 53 wickets at an average of 31.54 as Somerset finished 4th in Division One of the County Championship. He also appeared in two domestic finals and was part of the Somerset side that reached the semi-finals of the 2011 Champions League Twenty20 in India. The 2012 season saw injury restrict Kirby to just nine first-class matches and saw him take 24 wickets at an average of just over 30. Prior to the 2013 season, Kirby was included in the MCC squad for the Champion County fixture, for the fourth time in his career. The season again saw Kirby limited to just 10 first-class matches due to injury despite this he took 26 wickets at an average of 35.11. The end of the 2013 season saw Kirby sign a new contract of undisclosed length with Somerset. Having suffered complications from ankle surgery over the 2013 winter, Kirby required a second operation in six months in April 2014 this time on his shoulder which led to him missing the start of the 2014 season. On 22 July 2014, Kirby announced his retirement from first-class cricket with immediate effect following further complications from his ongoing shoulder injury while playing in a second XI game.
Personality
Kirby's belligerent personality has seen him in regular confrontations with opposing batsmen, and occasionally umpires. He is renowned as one of the best, if most obscure, 'sledgers' in the game. In dismissing Mike Atherton twice, in Atherton's last County Championship game, Kirby supposedly remarked that he had "seen better players in my fridge"—Kirby clarified that he had seen "better batters in my fish and chip shop".
After retirement
After spending a couple of years in executive search firm Michael Page International gaining valuable commercial experience, Kirby was appointed Head Coach of the Marylebone Cricket Club at Lord's to commence in April 2016. In a press statement he is quoted as saying “Words can't describe how excited I am to be taking on such a prestigious role..." Kirby, a member of the MCC since 2010, replaced Mark Alleyne, who was seven years in the role.