Burnley In 2004, Lafferty signed a youth team apprenticeship with
Championship club
Burnley. The following season saw him begin to make an impression upon the Burnley first team. He made his debut during a 2–1 away league defeat to
Crewe Alexandra on 6 August 2005, coming on as an 89th-minute substitute for
Garreth O'Connor. He made his Rangers debut as an 89th-minute substitute during a
UEFA Champions League qualifier on 5 August 2008 against
FBK Kaunas. His first goal came in his second appearance, in a
Scottish Premier League match against
Heart of Midlothian on 16 August 2008. On 16 May 2009, during the penultimate league match of the
2008–09 season at home to
Aberdeen, Lafferty was involved in an off-the-ball altercation with Aberdeen player
Charlie Mulgrew which ended with Lafferty reacting as if he had been headbutted. The referee,
Stuart Dougal, sent Mulgrew off for violent conduct; however, television pictures showed little contact between the two players. Rangers went on to win the match 2–1. Upon reviewing the incident Rangers manager
Walter Smith expressed his disappointment at Lafferty's conduct. Two days later it was reported that Rangers had fined Lafferty for his reactions in relation to the incident. The case was also referred to the
Scottish Football Association's disciplinary committee, who rescinded Mulgrew's red card and gave Lafferty a two-match ban for simulation. On 25 April 2010, Lafferty scored the winning goal in a 1–0 win over
Hibernian at
Easter Road, securing the league title for Rangers with three matches left to play. On 22 August, Lafferty was sent off, along with opponent
Kevin McBride, in a match at the same venue. On 25 September, Lafferty scored his first hat-trick for the club in a 7–2 victory over
Dunfermline Athletic in the
League Cup. Lafferty scored in Rangers' 4–0 win over
Dundee United in April 2011, before missing an opportunity in the final Old Firm game of the 2010–11 season at Ibrox in a 0–0 draw. Lafferty then went on to score in three consecutive games in the title run in against
Motherwell, Hearts and Dundee United. Lafferty then scored a hat-trick in the final SPL game of the season as Rangers beat Kilmarnock 5–1 and won their third consecutive league title. On 18 September 2011, Lafferty scored his first Old Firm goal in a 4–2 win against Celtic. On 17 December, Lafferty scored an 83rd-minute winner for Rangers against
Inverness Caledonian Thistle, the game ending 2–1. On 24 April 2012,
Ally McCoist announced that Lafferty had been banned for two weeks following a training ground bust up. In June 2012, Lafferty lodged an objection against his contract being transferred from Rangers to the new company set up by
Charles Green.
PFA Scotland had previously commented that players were entitled to become
free agents if they objected to the transfer. Lafferty later raised a constructive dismissal claim against Rangers.
Sion Lafferty signed a three-year contract with
Swiss Super League club
FC Sion on 30 June 2012, linking up with former
Rangers player and Sion
player-coach Gennaro Gattuso. He was unable to play in the league match against
Grasshoppers on 15 July because the
Scottish Football Association refused to provide clearance for the transfer, having received an objection from Rangers' owner Charles Green. On 20 July, Lafferty received provisional international clearance from FIFA which allowed him to play while arbitration over his move from Rangers continued. On 22 July 2012, Lafferty made his debut for Sion, coming on as a substitute in a 1–0 win over
Servette. He scored his first goal a week later in a 3–0 win over
Luzern.
Palermo On 26 June 2013, Lafferty joined
Serie B club
Palermo on a three-year contract for an undisclosed fee. He said "Palermo tried to sign me in January but unfortunately we couldn't close the deal. Now I can't wait to get started. When I was younger I watched a lot of Italian football and I know there's a very passionate fanbase here at Palermo." He scored 11 goals in 34 matches to help the club ascend to
Serie A as champions in his only season, and won the Fans Player of the Season award. However, club president
Maurizio Zamparini called him an "out-of-control womaniser" and claimed that this lifestyle resulted in him being sold.
Norwich City On 27 June 2014, Lafferty signed a three-year contract with
Norwich City of the
Football League Championship with an option for an extra year. The transfer fee was undisclosed and the transfer would be effective from 1 July. He said "Norwich is a team that wants to get promoted back to the Premier League at the first opportunity, so I'm excited to come here and start playing football for a team like this." He was given squad number 9. Lafferty made his debut for the team on 10 August, as they began
the season with a 1–0 defeat away to
Wolverhampton Wanderers, replacing
Steven Whittaker for the last 14 minutes of the game. Six days later he made his first start in his first game at
Carrow Road, lasting 67 minutes of a 3–0 win over
Watford before being replaced by
Elliott Bennett. In 20 games18 of those in the leaguehe only scored once, in a 3–2 home win against
Cardiff City on 17 January 2015. He scored two goals in 14 league games for the Turkish side. However, Lafferty remained with Norwich until 24 March 2016, when he joined Championship club
Birmingham City on loan until the end of the season. He returned from international duty with a groin injury, but was fit to start Birmingham's match against
Brighton & Hove Albion on 5 April. He opened the scoring after 16 minutes with a tap-in following a goalkeeping error, but Brighton went on to win 2–1. He made five more league appearances, without scoring, in what remained of the season.
Hearts On 28 June 2017, Lafferty joined
Heart of Midlothian in the
Scottish Premiership on a two-year deal. He made his debut on 18 July in the group stage of the
Scottish League Cup, scoring the only goal away to
Elgin City. Two days later, he added two more goals in a 3–0 win over
East Fife at
Tynecastle, and on 25 July he made it four goals in three games with one in a 2–1 loss at
Peterhead; Hearts did not reach the knockout stage. In the league season, Lafferty scored 12 times as Hearts finished 6th; this made him the Premiership's fourth highest scorer. One of these was on 17 December 2017 in a 4–0 win over defending champions Celtic, ending their 69-match unbeaten run in domestic matches. Thirteen days later, he was sent off at the end of a goalless draw at Aberdeen for a challenge on
Graeme Shinnie.
Return to Rangers On 22 August 2018, Lafferty returned to Rangers for a second spell on a two-year deal. On his return to Rangers, Lafferty scored two goals in his league debut against Motherwell, a dramatic 3–3 draw. Lafferty left Rangers after having his contract terminated by mutual consent on 24 July 2019.
Sarpsborg 08 On 27 August 2019, Lafferty signed for Norwegian
Eliteserien club
Sarpsborg 08 on a contract until the end of the 2019 season.
Sunderland Lafferty signed a short-term contract with
Sunderland on 10 January 2020. He scored twice from 11
League One appearances before leaving the club when his contract expired.
Reggina In July 2020, Lafferty moved to Italy to sign for
Reggina. He scored once in nine
Serie B matches and played twice in the
Coppa Italia before being released by mutual consent in January 2021.
Kilmarnock Lafferty returned to Scottish football in February 2021, signing a short-term contract with
Kilmarnock. He had an immediate impact with Kilmarnock, scoring 12 goals in the space of eight games. This included a hat-trick in a 3–0 win against
Dundee United on 21 April that lifted the club out of the relegation places. Lafferty left Kilmarnock at the end of his contract, having scored 13 goals in as many appearances for the club.
Anorthosis Famagusta Lafferty then signed a season-long deal with Cypriot club
Anorthosis Famagusta. Lafferty agreed to mutually terminate his contract in December 2021.
Kilmarnock return On 21 January 2022, Lafferty returned to
Kilmarnock, signing a deal until the end of the season. This contract was subsequently extended until the summer of 2023.
Linfield On 8 February 2023, Lafferty signed a short-term deal with
NIFL Premiership club
Linfield until the end of the season. He would leave at the end of the season following a disappointing end to the season.
Johnstone Burgh On 12 July 2023, Lafferty joined
Scottish seventh tier club
Johnstone Burgh on a two-year deal, joining ex-Rangers and Norwich City teammate
Graham Dorrans at the club. After scoring twice on his debut, he suffered a serious knee injury in his second match, keeping him out of action until 2024. On 1 June 2025, Lafferty scored the winning penalty against
Tranent which won Burgh their first
Scottish Junior Cup since 1968. ==International career==