Tommy Harper signe son premier contrat professionnel avec les Reds de Cincinnati en 1960. Il joue son premier match dans les majeures avec cette équipe le et demeure chez les Reds jusqu'à la fin de la saison 1967. Il mène les Ligues majeures avec 126 points marqués en 1965. Échangé aux Indians de Cleveland après la saison 1967, il passe un an là-bas avant d'être réclamé par les Pilots de Seattle lors de la draft d'expansion de l'automne 1968 qui vise à créer l'alignement de plusieurs nouvelles franchises qui se joignent à la MLB au printemps 1969. L'existence des Pilots est courte : une seule saison. Harper s'y impose comme l'un des meilleurs joueurs de l'équipe. Il est le champion voleur de buts de tout le baseball majeur en volant 73 buts durant l'année, un nombre largement supérieur à son précédent record personnel de 35 réussi avec Cincinnati en 1965.
La franchise de Seattle déménage à Milwaukee en 1970, où elle devient les Brewers. Harper y reste deux ans. Il présente sa moyenne au bâton la plus élevée en carrière (,296) en 1970 et ajoute 38 vols de buts. Cette année-là, il honore sa seule sélection en carrière au match des étoiles. Avec un sommet en carrière de 31 circuits auxquels s'ajoutent 38 buts volés en 1970, il entre dans le club 30-30.
Passé aux Red Sox de Boston en 1972, il y joue trois saisons. En 1973, il est le champion voleur de buts de la Ligue américaine avec 54 larcins. Il s'agit aussi d'un record de franchise qui tient jusqu'en 2009, alors que Jacoby Ellsbury vole 70 buts pour Boston[1].
Tommy Harper joue 1810 parties dans les majeures et maintient une moyenne au bâton en carrière de ,257. Il compte 1609 coups sûrs dont 256 doubles, 36 triples et 146 coups de circuit. Il totalise 972 points marqués, 567 points produits et 408 buts volés en 524 tentatives. Il est considéré quatre fois au titre de joueur par excellence de la saison, recevant quelques votes en 1969, 1970, 1972 et 1973 mais ne terminant jamais plus haut que la sixième place (en 1970) au scrutin.
Carrière d'instructeur
Une fois sa carrière de joueur terminé, Tommy Harper devient instructeur pour plusieurs années avec les Red Sox de Boston. En 1986, il attaque la franchise en justice pour discrimination, arguant que son congédiement en décembre 1985 est motivé par des politiques racistes[2],[3].