Fagan began his football career as an under-nine with Birmingham City. When the club dismantled its youth system he spent a few months with West Bromwich Albion, but returned to Birmingham City when they opened their academy, in part because the club was nearer to his home in Bromsgrove, Worcestershire, where he attended Catshill Middle School and South Bromsgrove High School.[3] Fagan made his Birmingham debut as a substitute in a League Cup tie against Leyton Orient on 2 October 2002.[4] His Premier League debut followed two months later, again as a substitute, against Southampton.[5] He scored his first career goal while on loan at Bristol City in a 2–1 defeat against Colchester United, his future club.[6] He failed to make the breakthrough to Birmingham's first team, and joined Colchester United on a free transfer in March 2004 after a successful loan spell at the club.[7]
Hull City
Fagan joined Hull City on 28 February 2005 for an undisclosed six-figure transfer fee (believed to be around £125,000). Five days later he scored on his debut in a 3–1 victory over Tranmere Rovers. He was reunited with his former Colchester boss, Phil Parkinson, when Parkinson was appointed Hull City manager in the summer of 2006 – Parkinson's tenure however did not last long. Under Parkinson, Fagan was played on the right wing, whereas under Peter Taylor he had played as a striker. Following Parkinson's departure, Hull changed from a 4-4-2 formation to 4-3-3, and Fagan flourished in his role on the right hand side of the front three.
His good form led to interest from other clubs and speculation around his future arose when he was left out of the squad for the FA Cup Third Round tie against Middlesbrough on 6 January 2007. Finally, on 9 January, top of the table Derby County confirmed the signing of Fagan for a fee of £750,000, rising to £1,000,000 dependent on their promotion to the Premiership.
Despite leaving halfway through the season, Fagan led the assists chart for Hull in 2006–07,[8] as he had the previous campaign.[9]
Derby County
Upon joining Derby, Fagan quickly worked his way into the first team and made his debut in a 1–0 win over Sheffield Wednesday on 13 January 2007; he had made his final appearance for Hull against the same opponents 12 days previously, a game which Fagan was also on the winning side. Fagan was mostly employed as a wide player whilst at Derby, rather than his preferred role as striker, with boss Billy Davies preferring to employ Steve Howard in the lone striker role. He made 17 league and one cup appearances, scoring only once, in the 1–1 draw away to Leicester City,[10] as Derby's form faltered and they fell into the playoff positions, finishing in third. Fagan then went on to play in all three matches in Derby's successful playoff campaign, including the 1–0 win over West Bromwich Albion in the 2007 Championship play-off final.
Whilst Derby's return to the Premiership proved to be a difficult one, as they found themselves bottom of the table for the majority of the season, Fagan himself was consistently involved in the first team and, alongside Stephen Pearson, was top of the club's appearance chart on 1 March 2008 with 25 league and cup appearances, scoring once in the League Cup against Blackpool,[11] although he was mainly used on the wing rather than striker. It may have been more had he not been banned twice, once for four matches for a stamp on Liverpool's Álvaro Arbeloa in a 6–0 defeat at Anfield and then for one match after reaching five yellow cards. As part of new manager Paul Jewell's clearout upon his arrival at the club following the departure of Billy Davies, Fagan moved on loan to Hull City on 7 March 2008, with a view to a permanent deal.[12]
Return to Hull City
Fagan made his second debut for Hull in a 2–0 win over Scunthorpe United on 8 March 2008 and was part of the side which eventually secured the club's first ever season in the top flight of English football, following a 1–0 win over Bristol City at Wembley in the 2008 Championship play-off final, in which Fagan appeared as a 67th-minute substitute. It was Fagan's second consecutive appearance in the Championship Playoff final following playing for Derby there the previous year. Derby manager Paul Jewell announced on 17 June 2008 that the deal to take Fagan back to Hull on a permanent transfer had been agreed, with the fee believed to be £750,000.[13] This was completed on 2 July.[14]
On Saturday 13 September 2008, Fagan suffered a broken tibia after being on the end of an "horrific tackle" by Newcastle United midfielder Danny Guthrie. Guthrie was sent off in the incident, which occurred in the closing stages of Hull's victory at St James' Park.[15] He returned to action on 26 December 2008 and scored Hull's only goal in a heavy defeat to Manchester City.[16]
Following Hull City's return to the Championship Fagan spent all of the 2010–11 season sidelined through injury. After the end of the season, on 10 May 2011, the club announced that Fagan had been released from Hull City along with three other players, ending his second stint at the East Riding of Yorkshire club.[17]
He signed for Bradford City on 15 September 2011.[20] On 8 October 2011 Fagan scored his first goal for Bradford City against Torquay United.[21] He scored his second goal for the Bantams in a 2–1 win over Northampton Town.[22] His third goal came from the penalty spot in a 3–1 win against AFC Wimbledon in the FA Cup on 3 December.[23] In the next game he missed a penalty in a defeat to Oldham Athletic in the Football League Trophy.[24] He scored his fourth goal of the season with a volley in a 3–1 win over Shrewsbury Town.[25] He scored again against Torquay, this time in a 2–1 away win on 18 February. This was his fifth goal for the Bantams.[26] On 1 May 2012, it was announced that he would leave the club after one season, settling his contract early.[27]
Bury
In February 2013, Fagan signed for League One Bury until the end of the season.
Gillingham
On 12 November 2013, Fagan signed for Gillingham.[28] He was released by the club at the end of the 2013–14 season.[29]
Brunei DPMM FC
In February 2015, Fagan joined Brunei DPMM FC of the Singaporean S.League.[30] However, he suffered a long-term injury in only his third game and was subsequently released.[31][32]
Coaching career
On 5 July 2018, Fagan was appointed to the coaching staff of Hull City's Academy.[33] In 2019 Fagan replaced the departing Kevin Maher as under-23 coach at Southend United.[34]
In August 2020, Fagan applied to become the manager of the first team of Southend United. It was later decided by the club that he would not get the role but would continue as the Under 23's coach. He later went on to get promoted to assistant manager at Southend United.[35]