Burton Albion Harness spent time in the
youth team at
Coventry City before switching to
Burton Albion. He made his first competitive appearance for Burton in a 1–0 defeat to
Notts County at
Meadow Lane in a
Football League Trophy tie on 3 September 2013. He made his league debut on 22 March 2014, coming on for
Alex MacDonald 68 minutes into a 1–0 defeat to
Scunthorpe United at
Glanford Park. He made his first league start on 3 May, in a 1–0 defeat to
Southend United at
Roots Hall; this was his fourth and final appearance of the
2013–14 campaign. He signed a two-year professional
contract in May 2014. On 27 August 2014, he was voted
man of the match in Burton's 1–0 win over
Premier League side
Queens Park Rangers in a
League Cup tie at the
Pirelli Stadium; he won a free kick on the edge of the box that was scored by
Adam McGurk. He played 22 games throughout the
2014–15 season as Burton won
promotion as champions of
League Two. On 7 August 2015, he joined
Northern Premier League Premier Division side
Ilkeston on a one-month
loan. He was
sent off during injury-time in a 4–3 win over
Stourbridge on 23 August. Manager
Gavin Strachan extended his loan spell at the
Robins until the new year after he made a positive start to the season. However, Burton recalled him to allow him a chance to play higher-level football, and
caretaker manager Andy Watson said that "we were delighted to have had Marcus here and his loan deal wasn't far from ending". On 27 November 2015, Harness joined
National League club
Aldershot Town on a five-week loan. However, he made just two
substitute appearances for
Barry Smith's
Shots during his spell at the
Recreation Ground. He went on to make five substitute appearances for Burton as the club achieved promotion out of
League One, and he "impressed with his pace and direct running" during these games and was named as Burton's 'Most Improved Young Player' for the
2015–16 season, after which his contract was extended for a further year. He played ten
Championship matches in the
2016–17 season, and Albion took up a one-year extension to Harness's contract in May 2017. On 18 July 2017, he joined League Two side
Port Vale on loan for the
2017–18 season. Manager
Neil Aspin played Harness just behind striker
Tom Pope, in an attacking midfield role that demanded a lot of hard work. He scored his first goal for the "Valiants" on 12 December, in a 3–2 defeat at
Yeovil Town in the
FA Cup, and said "it was good to finally get a goal, it has been a long time coming". He scored his first league goal 11 days later to secure a point away at
Colchester United, leading Aspin to say "he can only go from strength to strength now he is starting to chip in with goals". He signed a new two-and-a-half-year contract with the "Brewers" in January. He scored his first goal for Burton in a 2–1
EFL Trophy defeat to
Walsall on 4 September 2018. On 5 January, he scored a
hat-trick in a 4–0 win at
Rochdale. Having successfully broken into
Nigel Clough's first-team during the
2018–19 season, he totalled six goals in 39 games. He scored his first goal for
Pompey in a 2–1 defeat at
Sunderland on 17 August. He scored a total of three goals in four games before being sidelined with a
thigh strain picked up in a 1–1 draw at
Blackpool a fortnight later. He disappointed manager
Kenny Jackett with his performances upon returning to fitness. He was dropped in favour of
Ronan Curtis and
Ryan Williams, before regaining his first-team spot in December. He finished the
2019–20 season strongly, scoring none goals and providing seven assists in 37 games, often making a big impact from the bench; he earned himself praise from Jackett, who said "he has got a very, very good future ahead of him". Portsmouth qualified for the
play-offs after finishing fourth, but lost on penalties following a 2–2
aggregate draw with
Oxford United; he had scored Portsmouth's goal in the second leg, which would have been the winner if not for Oxford's
equaliser. Having scored a brace against
Colchester United in the EFL Trophy, Harness scored a hat-trick playing as a number ten in a 4–2 win at former club Burton Albion on 3 October 2020. His third strike of the game, a "deft clip into the far bottom corner", would win him the League One Goal of the Month award; the goal was described by pundit
Don Goodman as "nothing short of sublime". On 13 March 2021, he played in the
2020 EFL Trophy final, which had been postponed from the previous year due to the
COVID-19 pandemic; he entered the game as a
half-time substitute for
Jordy Hiwula, which ended as a 0–0 draw, with
Salford City winning the
penalty shoot-out. He was a regular in the
2020–21 league season and was watched by Ireland manager
Stephen Kenny. He achieved new manager
Danny Cowley's target of ten goals for the season, however, Portsmouth missed out on the play-offs after finishing in eighth-place. In January 2022, Cowley said the club's priority would be to extend Harness' contract as he was the stand-out performer in scoring ten goals from midfield in the first half of the season. Harness was though sent off for the first time in his career for
fouling Ross Sykes in "a clear act of petulance" during a 4–0 win over
Accrington Stanley at
Fratton Park on 5 March. Portsmouth extended his contract as Cowley rated him as a Championship quality player. He scored 12 goals from 44 appearances in the
2021–22 season. However, Portsmouth again fell short of the play-offs. Town boss
Kieran McKenna said that Harness was a good fit for the club and was entering his prime years. Harness was named as the club's Player of the Month for August after scoring five goals. He underwent minor
knee surgery on a small meniscus
tear in November. He scored eight goals in 47 games in the
2022–23 campaign as Ipswich secured promotion out of League One as runners-up to
Plymouth Argyle. He scored four goals and provided two assists in 39 games as the club secured promotion into the
Premier League with a second-place finish at the end of the
2023–24 Championship season. He played two
Premier League games, making substitute appearances against
Liverpool and
Manchester City. On 30 August 2024, Harness returned to the Championship, joining
Derby County on a season-long loan deal. Harness made his Derby debut against
Cardiff City on 14 September. He made his first start for Derby at
Sunderland on 1 October and scored his first goal for Derby in a 2–0 win over
Queens Park Rangers on 5 October. After the departure of
Paul Warne as Derby manager in February 2025, Harness found himself operating in a forward role under new manager
John Eustace. He scored and provided an assist in Derby's 2–0 victory against
Coventry City, with two further goals coming four days later in a 3–2 victory against
Plymouth Argyle. He was nominated for the
EFL Championship Player of the Month award for March. He made 27 starts and 15 substitute appearances, scoring four goals and assisting three times, as the Rams finished in 19th place. He was released by Ipswich upon the expiry of his contract.
Huddersfield Town On 2 June 2025, Harness agreed to join League One club
Huddersfield Town on a three-year contract to start on 1 July. He had previously worked with manager
Lee Grant when the latter was a first-team coach at Ipswich and said it was "a no-brainer" to reunite with him at Huddersfield. He scored eight goals across 51 games in the
2025–26 campaign, Huddersfield finished eight points adrift of the play-offs, however, and said the club would need to have some "tough conversations" with the squad. ==International career==