With Queen's Park, MacKinnon won the first three Scottish Cup competitions in 1874, 1875 and 1876. He was also capped by Scotland, making 9 appearances between 1872 and 1879, scoring 5 goals. As a player, he was described as "a brilliant dribbling artist".
MacKinnon was the only player who appeared in all of the first seven official international matches between Scotland and England, making him the first caps record holder in international football history. MacKinnon held the Scotland caps record until March 1881, when Henry McNeil earned his 10th cap.