He previously played for Gloucester Rugby, Bedford and Wasps. Until May 2006 he was contracted to Worcester Warriors for three seasons from 2005, but was released after one year of a three-year contract – an action which is still subject to potential legal action by Gomarsall. He was released by Harlequins F.C in 2009 and joined Leeds Carnegie for the 2009–2010 season to continue Guinness Premiership rugby.
Gomarsall started all three of England's 2004 Autumn internationals at Twickenham and was vice captain in the England XV against the Barbarians in May as well as the Churchill Cup tour.
However, injury led to his replacement at both Gloucester Rugby and England, and so to prolong his career he signed a three-year deal with Worcester Warriors in June 2005.[4] However, his injury worries returned to plague him, and he was released along with nine other players by Worcester in May 2006, two months short of the end of the season.[5]
On 25 September 2006 Gomarsall signed a one year "pay-as-you-play" deal with Harlequins: ""It was shocking what happened to me and I wouldn't want that to happen to anyone else. I love rugby so much and have really missed it. I'm very grateful to Quins for giving me this opportunity.".[6]
Gomarsall performed well for Harlequins[7] and was selected for the England squad[8] for the 2007 Rugby World Cup. It was his kick down the touchline[9] that enabled Josh Lewsey to score 5 points – the eventual winning margin for England that sent them into the final against South Africa on 20 October 2007.
In 2008, Gomarsall started the first two Six Nations games before being dropped for the third against France.[10]
In 2015 Gomarsall played for Old Actonians RFC Vets in a dramatic thrashing of Local Rivals Ealing Vets.