Jordan made his U14 Ontario Provincial debut at the U14 All-Star Championships in Sherbrooke, Quebec. He scored 8 seconds into their first match against the U14 PEI team, when they had the kickoff. He went on to score 6 more goals in the match.
After three years playing with the TFC Academy in the Canadian Soccer League, Hamilton signed with Toronto FC on January 6, 2014. Hamilton made his professional debut as a late substitute in 0–1 defeat to Colorado Rapids on April 12, 2014. He was loaned to USL Pro club Wilmington Hammerheads FC on May 1, 2014. After 5 goals in 11 games with Wilmington and a goal for Toronto in a friendly against Tottenham Hotspur, Hamilton was loaned to C.D. Trofense of the Portuguese Segunda Liga. On August 9, 2014, Hamilton made his first appearance for side C.D. Trofense as a 66th-minute substitute. He was recalled from his loan by Toronto on December 12. On March 20, 2015 Hamilton was loaned to Toronto FC II ahead of their inaugural season in the USL. He made his debut against the Charleston Battery on March 21, and scored Toronto FC II's first ever goal in the same match in the 8th minute. Hamilton scored his first two goals for Toronto FC in the 2016 Canadian Championship, when he got a brace in the first leg against the Montreal Impact. He scored his first MLS goal on June 26 against Orlando City. He finished the 2016 season with three goals in 14 league matches and two goals in four Canadian Championship matches. He had also made four appearances for Toronto FC II.
Columbus Crew SC
On July 11, 2019 Hamilton was traded to Columbus Crew SC along with an international roster slot and $50,000 of Targeted Allocation money, in exchange for forward Patrick Mullins and an undisclosed amount of Conditional Allocation money. Hamilton would have his option for the 2020 season declined by the Crew, but re-signed with the club soon after for 2020.
International career
Youth
Hamilton represented Canada at the 2013 FIFA U-17 World Cup. In November 2014, Hamilton was called up to the U-20 team for a series of games. He scored a goal against England's U-20 side during a friendly on November 12 in a 2-2 draw. Hamilton followed it up three days later with another goal in a 2-1 victory over Russia's U-21 team. Hamilton would later participate in the 2015 CONCACAF U-20 Championship with Canada. He scored three goals at the tournament, a brace against Haiti in the first game, and a goal against Honduras in Canada's last game. In May 2016, Hamilton was called to Canada's U23 national team for a pair of friendlies against Guyana and Grenada. He scored in both matches.
Senior
Hamilton's first experience with the senior side was when he was called up for a training camp in January 2014 with the Canadian senior team. Hamilton made his debut for Canada against Colombia as a substitute on October 14, 2014.