Born in Sompting, West Sussex, Sullivan signed professional forms with Brighton & Hove Albion during the summer of 2005, but didn't make a competitive appearance for the club until 28 October 2008, when he started in place of the injured Michel Kuipers, during the 3–2 victory over Leicester City. At the end of the 2007–08 season, Sullivan signed a new one-year contract with the club. It was announced on 12 May 2009 that Sullivan would be leaving Brighton after the expiry of his contract at the end of June 2009. Sullivan agreed to join League One rivals Millwall on 2 June 2009, and made his debut on 1 September 2009 against Barnet in the Football League Trophy. On 25 March 2010, Sullivan signed a one-year extension with the club, that will keep him until the next season. Sullivan signed a one-month loan deal with Yeovil Town, having impressed manager Terry Skiverton in Darren Way's benefit match – a 3–2 victory over a Manchester United XI – when he was in trial with the club. Upon the move, Sullivan said he expected to play more regularly, rather spending in the bench. He made his debut for the club, in the opening game of the season, with a 2–1 win over Leyton Orient. After the match, Sullivan soon desired to stay at the club and his wish came true by having his loan spell extended until 3 January 2011. Having retained his first choice goalkeeper in the early of the season, Sullivan soon lost his first team place in goal after suffering an injury and was replaced by Stephen Henderson. After Henderson loan spell with the club is up and returned to his parent club in November, Sullivan retained his first-choice in goalkeeping. After six-months at Yeovil Town, his loan-spell had come to an end. On 18 March 2011, Sullivan signed a one-month loan deal with Charlton Athletic. His stay at Charlton was extended on 15 April until the end of the season.
Charlton Athletic
Charlton acted swiftly in the following transfer window to bring Sullivan to the club on permanent basis after a string of impressive performances, securing a two-year deal on 31 May 2011. Sullivan made his first appearance for Charlton after signing permanently in the summer when he came on as a sixth-minute substitute against Leyton Orient after Ben Hamer was sent off for handling the ball outside his area. The next season, Sullivan was told by manager Chris Powell he will be loaned out, to earn more playing time. Eventually on 9 November 2012, he signed on a one-month loan to League One side Colchester United He joined Colchester United for the replacement for Mark Cousins, who is being on the sidelines. After making his debut against Crewe, Sullivan says joined the club, citing playing time as the main reason. His loan spell at Colchester United had come to an end, following a conclusion to his loan spell, but willing to return to the club. In 2013, Sullivan signed a loan deal with AFC Wimbledon, until the end of the season and was ever present for the duration of his loan period, including their dramatic escape from relegation on the final day of the league two season. It was confirmed on 30 April 2013 that Sullivan has been released from Charlton.
On 16 May 2013, Sullivan signed a two-year deal with Portsmouth. He made his debut in a 4–1 home defeat to Oxford United on 3 August 2013. Sullivan went on a run of six matches as Portsmouth's first choice goalkeeper, however two high-profile errors against York City, one of which saw Sullivan drop the ball into an empty net, resulted in the arrival of Trevor Carson from Bury, and Sullivan was dropped from the side. On 7 June 2014, Sullivan left Portsmouth by mutual consent despite having one year remaining on his contract.