Watson started his footballing career at Lower Hutt City at the age of 4 before moving onto the Phoenix school of excellence and making 13 appearances with Team Wellington. On 10 October 2013 he signed a one-week deal with Wellington Phoenix as a loan cover for the internationals. On 5 February 2014 he signed for A-league side Wellington Phoenix for the remainder on the 2013–14 season. On 23 April 2014 he made his debut in the Central Premier League with Wairarapa United. On 25 October 2014 Watson moved to England, training with Conference Premier side Grimsby Town to try earn a contract with the club. On 20 November 2014 Watson received international clearance, and on the verge of signing for Grimsby Town, he signed a short-term contract until January with the club later on that day. On 26 February 2015, having made 4 brief substitute appearances, Watson joined Conference North side Gainsborough Trinity on a one-month loan deal, to help him develop. On 20 May 2015, Watson was released by Grimsby Town. On 30 June 2015, Watson rejoined Central Premier League side Wairarapa United. In February 2016, Watson joined Wellington Phoenix as an injury replacement for Roy Krishna. Following a successful spell, at the end of the season Watson signed a year long professional contract with the club. On 24 January 2018, Watson agreed to part ways with Wellington Phoenix after seeing limited game time with the team. After another spell with Team Wellington, Watson moved to Australia, signing for National Premier Leagues Victoria side Melbourne Knights. On 12 June 2019 Watson scored a hat-trick against rivals South Melbourne FC in the last round of the Victorian 2019 FFA Cup preliminary rounds, sending his side through to the national stage of the cup.
International career
Watson has represented New Zealand at the Under-20 level. They performed in the OFC U-20 Championship Tournament in Lautoka, Fiji in 2013, with every game being played at the Churchull Park Stadium, eventually finishing champions in the tournament that also featured Fiji the hosts, New Caledonia under 21, Papua New Guinea and Vanuatu. On 21 March 2013, he scored in New Zealand's 5—0 win over Papua New Guinea. On 27 March 2013, Watson scored again in the final game, beating the hosts Fiji 4–0. The team qualifying as Oceania's representative at the 2013 FIFA U-20 World Cup in Turkey which Watson attended. He played in two games at the World Cup in Turkey, first in the 0—2 lost to Uruguay, getting 12mins. Then in the 0—3 lost to Uzbekistan getting his first start.