Madine began his career with Carlisle United, for whom he made his professional debut in 2007. He was sent out on loan in 2009, first with Rochdale and then Coventry City, and again in 2010, to Chesterfield. He signed a permanent contract with Sheffield Wednesday in January 2011 for an undisclosed fee.
After four years at Hillsborough, which included loans at Carlisle United, Coventry City and Blackpool, he signed permanently for Bolton Wanderers in 2015. In 2018, he signed for Cardiff City. He was loaned out to Sheffield United in 2019. He joined Blackpool in January 2020.
Madine progressed through the youth ranks of Carlisle, making his debut on 3 March 2008, at the age of 17, in a 1–0 win at Nottingham Forest, coming on as a substitute for Danny Graham in the 92nd minute.[5] He went on to make 12 appearances that season, before signing a new three-year contract in June 2008.[6] His first appearances of the following season came in the League Cup, a 1–0 win at League Two side Shrewsbury Town and a 4–0 defeat to Championship side Queens Park Rangers.[7][8] He scored his first goal for the club in a 4–1 win in the league against Yeovil Town on 30 August 2008.[9] His next goal came on 7 October in the Football League Trophy, making the score 2–2 after Rochdale had taken a two-goal lead. The game went to penalties. Madine scored his, but Carlisle lost the shoot-out 4–3.[10] He scored on his FA Cup debut as Carlisle drew 1–1 to Grays Athletic at Brunton Park on 8 November.[11] He played in the replay, which Carlisle won 2–0; however, Carlisle were eliminated in the next round by Crewe.[12][13] On 20 March 2009, Madine signed on a month-long loan for League Two team Rochdale.[14] He made his debut the next day, setting up Adam Le Fondre to score a last-minute winner as Rochdale beat Wycombe Wanderers 1–0.[15] He made a further two appearances before returning to Carlisle.[16] He scored his first goal of the following season in a 2–0 League Cup win over Championship side Bristol City, helping Carlisle into the third round of the League Cup for the first time since 1976.[17] He made regular appearances before joining Championship side Coventry City on a three-month loan on 19 October 2009.[18] He made his debut on 24 October in a 0–0 draw against West Brom at the Ricoh Arena.[19] He made nine appearances before returning to Carlisle on 20 January 2010.[20] He made four appearances, including a Football League Trophy Northern Area Final win on penalties against Leeds United, scoring his penalty in the shoot-out.[21] He then joined League Two side Chesterfield on a month-long loan deal on 12 February.[22] He made four appearances before returning to Carlisle.[20] He played in the Football League Trophy Final on 28 March 2010 at Wembley, scoring a consolation goal as Carlisle lost the game 4–1 to Southampton.[23] He began to find form and scored four goals in the last six matches of the season, with the goals coming against Brighton, Oldham, Southampton, and in a 2–0 win against league winners Norwich on the final day of the season.[20] He scored on the opening day of the 2010–11 season, in a 2–0 home win against Brentford.[24] His next goal came in a 4–1 win against MK Dons on 21 August.[25] On 28 September, he scored a hat-trick in a 4–0 away win against rivals Hartlepool United.[26] After goals against Notts County and Charlton, he scored four in a 6–0 FA Cup win against Tipton Town.[27][28][29] In November, he scored in back-to-back games against Rochdale and Tamworth.[30][31] He played his final game for Carlisle on 8 January 2011 in a 1–0 defeat away to Torquay United in the FA Cup.[32] He finished his Carlisle career with 83 appearances and 22 goals.[33]
Sheffield Wednesday
On 15 January 2011, Madine joined Sheffield Wednesday, signing a four-and-a-half-year contract.[34] He made his debut on 22 January in a 4–0 defeat away to Leyton Orient.[35] He scored in a 5–3 defeat to Peterborough at London Road.[36] His next goal came in a 4–0 win against Tranmere, and his final goal of the season came in a 2–0 win against Preston North End.[37][38] He finished the season with 18 goals in all competitions for both Carlisle and Sheffield Wednesday.[39] He scored his first goal of the 2011–12 season in a 2–1 win against Notts County on 20 August 2011.[40] On 27 August, he scored twice as Sheffield Wednesday beat Scunthorpe United 3–2.[41] On 10 September he scored twice in a 3–1 win against MK Dons,[42] and went on a four-game goalscoring run, finding the net against Stevenage and Yeovil, and a brace against Exeter.[43][44][45] He scored his tenth goal of the season in a 3–1 win against Chesterfield.[46] He scored in the following game, this time in a 2–2 draw against city rivals Sheffield United. The game is known as the Steel City derby, and after being two goals down, Wednesday scored two goals in the last ten minutes, including an 85th-minute header from Madine to make the score 2–2.[47] He was named Football League Young Player of the Month for September, after scoring ten goals in 12 games.[4][48] On 25 October, he was sent off for the first time in his career, in a 3–2 loss at former club Carlisle.[49] He broke his toe during a 2–1 win against Tranmere on 19 November and was out for six weeks.[50] He bounced back from his injury by scoring in a 2–2 draw against Hartlepool.[51] On 6 March 2012, he scored in a 4–1 win against Bury.[52] Later that month, he scored in back-to-back games, in a 2–1 win against Notts County and an injury-time equaliser in a 2–2 draw against Walsall.[53][54] On 31 March, he scored two goals as Sheffield Wednesday beat Preston North End 2–0 at home.[55] He scored his first league goal of the 2012–13 season on 9 November, in a 3–1 defeat away to Middlesbrough.[56]
On 27 March 2014, Madine re-joined his former club Carlisle United on loan until the end of the 2013–14 season.[57]
On 10 February 2015, Madine joined Blackpool on loan until the end of the 2014–15 season.[60] He scored three goals in 15 league appearances for Blackpool.
Bolton Wanderers
On 8 June 2015, Madine signed a two-year deal with Bolton Wanderers.[61] On 26 September, he scored his first goal for Bolton in a 2–2 draw with Brighton & Hove Albion.[62] On 31 May 2017, the club confirmed that Madine had signed a new two-year contract, potentially keeping him at the club until 2019.[63]
Cardiff City
On 31 January 2018, Madine joined Cardiff City for an undisclosed fee.[64] His debut came three days later, in a 4–1 win over Leeds United.[65]
On 7 January 2019, he joined Championship side Sheffield United on loan for the remainder of the 2018–19 season, which saw United promoted to the Premier League.[66][67] In January 2020, Madine left Cardiff after his contract was cancelled by mutual consent.[68]
Blackpool
Madine returned to Blackpool, this time on a one-and-a-half-year deal, on 16 January 2020.[69] He extended his contract by a year on 23 June 2021, with an option to extend by a further twelve months.[70]
He scored his first goal in nine months for the club in a 2–0 victory over local rivalsPreston North End at Bloomfield Road on 23 October 2021.[71] During his time on the sidelines while injured, Madine said he considered retiring a few times.[72]
Madine scored his 100th career goal on 6 November 2021, in a 1–1 draw at home to QPR.[73]
On 16 April 2022, Madine signed a one-year extension to his contract, with an option for a further twelve months.[74] In December 2022, Madine was accused of deliberately stamping on Cardiff City defender Perry Ng, but faced no FA action as he had been cautioned by the referee.[75]
In November 2010, Madine was found guilty of causing actual bodily harm after attacking a man in a pub. He was sentenced to community service, involving 250 hours of unpaid work. He was also ordered to pay £1,500 compensation to his victim and £1,800 in costs.[78] In October 2013, he was jailed for 18 months after being found guilty of causing actual bodily harm and grievous bodily harm in two separate attacks.[79] Madine was released from jail on 20 February 2014 after serving five months of his sentence.[80]