En 1986, les Pirates de Pittsburgh ont repêché Goodwin au sixième tour (134e au total). Il a choisi de ne pas signer. En 1988, il est membre de l’équipe de baseball des États-Unis qui remporte l’or aux Jeux olympiques de Séoul. Pour cette raison, il a décidé d’attendre 1989 pour signer avec une équipe, c’est alors qu’il a décidé de signer avec les Dodgers de Los Angeles, après avoir été repêché au 1er tour (22e au total).
À 6’1″, Goodwin ne pesait que 175 livres, ce qui lui donnait un avantage sur ses coéquipiers plus lourds. Il a développé une force dans le vol de base. Il ne passa que trois saisons dans les mineures (durant chacune desquelles il vola plus de 45 bases) avant de faire ses débuts en Major League le 1er septembre 1991, à l’âge de 23 ans.
Parmi les faits saillants de sa carrière en ligue majeure, mentionnons les 369 bases qu’il a volées en 14 ans dans les ligues majeures avec les Dodgers, les Royals de Kansas City, les Rangers du Texas, les Rockies du Colorado, les Giants de San Francisco et les Cubs de Chicago, un sommet de carrière de 66 bases volées avec les Royals en 1996, et une moyenne au bâton de ,290 avec les Rangers en 1998. Tom a connu une année intéressante en ce qui concerne les home runs en 2000, non pas parce qu’il en a frappé un grand nombre, mais en raison du type de home runs qu’il a réalisés. L’un de ses six home runs, réalisé le 5 avril, était un inside-the-parker contre les Braves. Le 30 avril contre les Mets, il a frappé un grand chelem, et le 17 juillet contre les Athletics, il a frappé un autre grand chelem.
Ses statistiques de carrière attirent des comparaisons avec celles de Billy North, un ancien Athletic d’Oakland.
Il a joué pour la dernière fois en ligue majeure de baseball en 2004, mais il a joué dans la ligue indépendante de l’Atlantique en 2005 pour le Surf d’Atlantic City.
En 14 ans de carrière dans les ligues majeures, couvrant 1288 matchs, Goodwin a affiché une moyenne au bâton de .268 (1029 pour 3846) avec 636 courses, 125 doubles, 39 triples, 24 coups de circuit, 284 RBI, 369 bases volées, 365 bases sur balles, .332 de pourcentage sur les bases et .339 de pourcentage d’élancement. Il a enregistré un pourcentage de placement de .991 en jouant aux trois positions du champ extérieur. En 21 matchs d’après-saison, il a obtenu un score de .160 (4 pour 25) avec 1 point et 2 RBI.