Born in Wembley, London, Sparrow spent 11 years of his professional career at Scunthorpe United, playing in the bottom three tiers of league football for them. He formally signed for the club as a 16-year-old and played in the FA Youth Alliance final for Scunthorpe at the old Wembley stadium against West Bromwich Albion. After spending several months in prison in 2001, he became a regular in the Scunthorpe first team. He was part of the team that won promotion to the Championship after finishing the 2006–07 season as champions. In August 2007, he was offered a new three-year contract with the club. Sparrow scored twice in the 2008–09 League One Play-off Final at Wembley Stadium against Millwall, helping them to a 3–2 victory and promotion to the Championship.
On 29 June 2010, Sparrow signed for League One side Brighton & Hove Albion, penning a three-year contract. Brighton won the League One championship that season and were promoted to the Championship. In the 2011–12 season, Sparrow scored two goals, both in the 3–0 home win over Southampton. However, he received a red card and a three-match suspension in February's win against Leicester City, for a reckless sliding tackle.
Crawley Town
On 10 January 2013, Sparrow signed for League One and fellow Sussex side Crawley Town on a free transfer. Sparrow made his Crawley debut only two days later on 12 January, coming on in the 67th minute as a substitute replacing fellow midfielder Dannie Bulman, in a 2–0 defeat against Tranmere Rovers. He made his home debut on 2 February in a 1–1 draw against Swindon Town. He scored his first goal for the club on 9 February in a 2–1 defeat against his former club Scunthorpe United. He scored his second goal for the club in a 2–2 draw against Yeovil Town. He played 17 times for Crawley in the league that season, scoring three goals as they finished in 10th place, their highest-ever league placing.
Return to Scunthorpe United
Sparrow returned to his old club Scunthorpe United on 2 July 2013 after being released by Crawley Town. On 5 May 2015 it was announced that Sparrow wouldn't be offered a new deal and was free to leave the club.
Lincoln City
On 24 June 2015, he signed a one-year deal with Conference Premier club Lincoln City and make his debut in a home game against Cheltenham Town.
Sorrento
In 2016, he emigrated to Western Australia and joined semi-professional club Sorrento.
Gainsborough Trinity
On 6 October 2016, it was announced that Sparrow had signed with Gainsborough Trinity of the National League North. He made a total of 4 appearances for Gainsborough before returning to Australia.