Im NBA-Draft 1972 war Porter der 39. Pick, der von den Baltimore Bullets in der dritten Runde ausgewählt wurde. In seinem zweiten Jahr führte er die Liga in persönlichen Fouls mit 319 an. Während er im nächsten Jahr 320 erhielt, gewann er 1975 seinen ersten von vier Assist-Titeln (mit 8,0 pro Spiel). Die Bullets erreichten das NBA-Finale, wurden aber vom Außenseiter Golden State Warriors gefegt. Ende August 1975 wurde Porter zu den Detroit Pistons für Dave Bing gehandelt und eine erste Runde Draft Pick im Jahr 1977, verwendet, um Tree Rollins auszuwählen. Porter erlitt in seiner zweiten Saison mit Detroit eine Knieverletzung und trat in nur neunzehn Spielen auf.
Zu Beginn seiner dritten Saison bei den Pistons wurde er mit Howard Porter gehandelt und wechselte zu den New Jersey Nets für Al Skinner, einen 2nd Round Draft Pick von 1978 (zur Auswahl von Terry Tyler) und einen 2nd Round Draft Pick von 1979 (zur Auswahl von Tony Price). Am 24. Februar 1978 hatte Porter 29 Assists in einem Spiel gegen die Rockets. Er hatte auch 14 Punkte und 5 Rebounds in einer Saison, die zu seinem 2. Assist-Titel führte, mit 10,2 pro Spiel. Der Rekord würde stehen, bis Scott Skiles am 30.Dezember 1990 30 Assists erzielte.
Nach der Saison wurde er gegen Eric Money zu den Pistons zurückgetauscht. In dieser Saison gewann er seinen dritten Assist-Titel mit 13,4 pro Spiel. Er hatte ein 30-Punkte-25-Assist-Spiel am 9. März 1979. Darüber hinaus war er der erste Spieler, der in einer einzigen Saison über 1.000 Assists aufzeichnete. Es würde fünf Jahre dauern, bis ein anderer Spieler über 1.000 Assists aufnehmen würde.
Nach dieser Saison unterschrieb er als Veteran Free Agent bei den Washington Bullets. Die Detroit Pistons erhielten 1980 einen First Round Draft Pick (der mit Golden State endete, der Rickey Brown mit diesem Pick auswählte) und 1982 einen First Round Pick (zur Auswahl von John Bagley) als Entschädigung für seine Abreise. Porter trat in diesem Jahr in zwei Playoff-Spielen auf und erzielte neun Vorlagen, als die Kugeln in der ersten Runde fielen. Im folgenden Jahr hatte er 9,1 Assists pro Spiel, was ausreichte, um seinen letzten Assist-Titel zu gewinnen. Während des Trainingslagers vor der Saison 1981 riss er sich jedoch die Achillessehne und fehlte die ganze Saison. Er spielte nur 11 Spiele der nächsten Saison, mit nur 4,2 Assists pro Spiel. Am 18.Januar 1983 wurde er von den Kugeln befreit. Als er 1983 in den Ruhestand ging, hatte er 5.314 Karriere-Assists (gut für den 49. aller Zeiten) und 7.645 Karriere-Punkte gesammelt, während er auch 14. aller Zeiten in Karriere-Assists pro Spiel und 13. in Assist-Prozentsatz bei 37,5 war. Bemerkenswert ist, dass er von den Top 50 der Karriere-Assist-Leader die wenigsten Spiele bestritt (659). Obwohl er die Liga viermal in Assists pro Spiel anführte, wurde er nie für ein All Star Game ausgewählt. Nur fünf Spieler haben mehr Meistertitel gewonnen als Porter, und alle fünf von ihnen sind in der Hall of Fame (Stockton, Cousy, Robertson, Nash und Kidd).
1983 spielte er auf den Philippinen für die Toyota Super Corollas mit Robert Jaworski in der Philippine Basketball Association als Import während des Open Conference Turniers und zusammen mit Billy Ray Bates des Rivalen Crispa Redman mit Atoy Co und Abet Guidaben.