En el draft de la NBA de 1972, Porter fue el número 39, seleccionado por Baltimore Bullets en la tercera ronda. En su segundo año, lideró la liga en faltas personales con 319. Si bien recibió 320 al año siguiente, ganó su primero de cuatro títulos de asistencia (con 8,0 por partido) en 1975. Los Bullets llegaron a las finales de la NBA, pero fueron barridos por los underdog Golden State Warriors. A finales de agosto de 1975, Porter fue traspasado a los Detroit Pistons por Dave Bing y una primera ronda del draft en 1977, utilizada para seleccionar Tree Rollins. Porter sufrió una lesión en la rodilla en su segunda temporada con Detroit y apareció en sólo diecinueve partidos.
En el inicio temprano de su tercera temporada con los Pistons, fue cambiado con Howard Porter y cash a los New Jersey Nets por Al Skinner, una selección de la segunda ronda del draft de 1978 (utilizada para seleccionar a Terry Tyler) y una selección de la segunda ronda del draft de 1979 (utilizada para seleccionar a Tony Price). El 24 de febrero de 1978, Porter tuvo 29 asistencias en un partido contra los Rockets mientras estaba con los Nets. También anotó 14 puntos y 5 rebotes en una temporada que le llevó a su segundo título de asistencia, con 10.2 por partido. El récord se mantuvo hasta que Scott Skiles anotó 30 asistencias el 30 de diciembre de 1990.
Después de la temporada, fue cambiado de nuevo a los Pistons por Eric Money. En esa temporada, ganó su tercer título de asistencia, con 13,4 por partido. Tuvo un juego de asistencia de 30 puntos-25, el 9 de marzo de 1979. Además, fue el primer jugador en registrar más de 1.000 asistencias en una sola temporada. Pasarían cinco años antes de que otro jugador registrara más de 1.000 asistencias.
Después de esa temporada, firmó como agente libre veterano con los Washington Bullets. Los Detroit Pistons recibieron una primera ronda del draft en 1980 (que terminó con Golden State, que seleccionó a Rickey Brown con esa selección) y una primera ronda de 1982 (Utilizada para seleccionar a John Bagley) como compensación por su partida. Porter apareció en dos juegos de playoffs ese año y obtuvo nueve asistencias cuando las Balas cayeron en la primera ronda. Al año siguiente, tuvo 9,1 asistencias por partido, que fue suficiente para ganar su título de asistencia final. Sin embargo, durante el campo de entrenamiento antes de la temporada de 1981, se rompió el tendón de Aquiles, perdiendo toda la temporada. Solo jugó 11 partidos de la próxima temporada, con solo 4,2 asistencias por partido. El 18 de enero de 1983, fue despedido por las Balas. Cuando se retiró en 1983, había acumulado 5.314 asistencias de carrera (buenas para el puesto 49 de todos los tiempos) y 7.645 puntos de carrera, mientras que también era el 14º de todos los tiempos en asistencias de carrera por partido y el 13º en porcentaje de asistencias con 37,5. Notablemente, de los 50 mejores líderes en asistencia profesional, jugó el menor número de partidos (659). A pesar de liderar la liga en asistencias por partido cuatro veces, nunca fue seleccionado para un Juego de Estrellas. Solo cinco jugadores han ganado más títulos de asistencias que Porter, y los cinco están en el Salón de la Fama (Stockton, Cousy, Robertson, Nash y Kidd).
En 1983, jugó en Filipinas para los Toyota Super Corolas con Robert Jaworski en la Asociación de Baloncesto de Filipinas como importación durante el torneo de Conferencia Abierta y junto con Billy Ray Bates de los rivales Crispa Redmanizers con Atoy Co y Abet Guidaben.