Cochrane scored the opening goal in Hearts' 4–0 win over Celtic on 17 December 2017,[13] a result that ended Celtic's 69-game unbeaten run in domestic matches.[14] In doing so he became the club's youngest league goalscorer.[15] The following week he was sent off in a match against St Johnstone for a second bookable offence.[16] In April 2018, Cochrane signed a new contract with Hearts, which ran until 2021.[17]
On 30 October 2020, Cochrane joined Scottish League One club Montrose on loan until January 2021.[19] The loan agreement was later extended to the end of the season.[20]
In April 2021, it was announced that Cochrane was set to leave Hearts at the end of the season following the expiration of his contract.[21]
On 24 May 2023, Cochrane signed a contract extension with the Doonhamers until 31 May 2025.[24]
During September 2023, Cochrane was appointed Queens new club captain, after Josh Todd decided to concentrate more on his own playing performances.
International career
He was a member of the Scotland under-16 Victory Shield squad.[3] He was called up to represent Scotland at under-17 level in October 2017,[25] however was withdrawn from the squad by Hearts manager Craig Levein, as he felt the "experience of being involved and perhaps playing in the first team at this minute in his career is more valuable than playing an international game."[26]