En 1986, los Piratas de Pittsburgh reclutaron a Goodwin en la sexta ronda (134º en la general). Optó por no firmar. En 1988, fue miembro del equipo de béisbol de Estados Unidos que ganó el oro en los Juegos Olímpicos de 1988 en Seúl. Debido a esto, decidió esperar hasta 1989 para firmar con un equipo, momento en el que decidió firmar con los Dodgers de Los Ángeles, después de haber sido reclutado en la primera ronda (22º global).
Con 1,90 metros de altura, Goodwin sólo pesaba 175 libras, lo que le daba ventaja sobre sus compañeros más pesados. Desarrolló una fortaleza en el robo de bases. Pasó sólo tres temporadas en las menores (durante cada una de las cuales robó más de 45 bases) antes de debutar en las Grandes Ligas el 1 de septiembre de 1991, a la edad de 23 años.
Algunos de los aspectos más destacados de su carrera en las Grandes Ligas incluyen las 369 bases que robó a lo largo de 14 años en las Grandes Ligas con los Dodgers, los Reales de Kansas City, los Rangers de Texas, los Rockies de Colorado, los Gigantes de San Francisco y los Cachorros de Chicago, un máximo de 66 bases robadas en su carrera con los Reales en 1996, y un promedio de bateo de .290 con los Rangers en 1998. Tom tuvo un año interesante en lo que respecta a los jonrones en el 2000, no porque pegara muchos, sino por el tipo de jonrones que fueron. Uno de sus seis jonrones se produjo el 5 de abril y fue un bateo dentro del parque contra los Braves. El 30 de abril, contra los Mets, bateó un grand slam, y el 17 de julio, contra los Athletics, bateó otro grand slam.
Sus estadísticas de carrera se comparan con las de Billy North, antiguo jugador de los Oakland Athletic.
La última vez que jugó en las Grandes Ligas fue en 2004, pero en 2005 jugó en la Liga Atlántica independiente con los Atlantic City Surf.
En una carrera de 14 años en las Grandes Ligas que abarcó 1288 partidos, Goodwin registró un promedio de bateo de .268 (1029 de 3846) con 636 carreras, 125 dobles, 39 triples, 24 jonrones, 284 carreras impulsadas, 369 bases robadas, 365 bases por bolas, .332 de porcentaje en base y .339 de porcentaje de bateo. Registró un porcentaje de fildeo de .991 jugando en las tres posiciones del campo. En 21 juegos de postemporada, bateó .160 (4 por 25) con 1 carrera y 2 RBI.