On 18 January 2008, McFadden joined Birmingham City on a three-and-a-half-year deal, with an option for additional two years, for an initial fee of £5 million, potentially rising to £6m depending on appearances. McFadden's first goal arrived in his fourth game for the club, a penalty kick versus West Ham United at Upton Park, after he had been fouled by Lucas Neill. In his next match, at home to Arsenal, he scored from a 20-yard free kick before adding the equalising goal from the penalty spot in the last minute of stoppage time.