Cleveland Cavaliers (2006-2008)Edit
Brown werd in 2006 als 25e speler in de eerste ronde van de NBA-trekking gekozen door de Cleveland Cavaliers. In zijn debuutseizoen kwam hij slechts in 23 wedstrijden in actie (5 starts), maar hij toonde veelbelovend en scoorde twee keer met dubbele cijfers (10 punten tegen New York op 29 november en 14 tegen Toronto op 3 en 4 november), maar werd gehinderd door een blessure aan zijn scheenbeen.
Brown werd op 2 maart 2007 aangesteld bij de Albuquerque Thunderbirds van de NBA Development League, maar werd een dag later teruggeroepen door de Cavaliers. In zijn enige wedstrijd als Thunderbird scoorde Brown 14 punten met vier rebounds en zes assists. Brown keerde terug naar de NBA Development League, ditmaal bij de Rio Grande Valley Vipers, op 11 januari 2008. In vier wedstrijden als Viper had hij een gemiddelde van 23,5 punten, waaronder een 37-punten prestatie tegen de Dakota Wizards op 16 januari. Hij werd op 17 januari teruggeroepen door de Cavaliers.
Tijdens de All-Star break van 2007-08 speelde Brown in 15 wedstrijden tijdens het seizoen (startte vier wedstrijden), met een gemiddelde van 7,0 punten per wedstrijd.
Chicago Bulls (2008)Edit
Op 21 februari 2008 werd Brown verhandeld aan de Chicago Bulls als onderdeel van een 3-team deal tussen de Bulls, de Cavaliers en de Sonics. De Sonics ontvingen Cavs forward Ira Newble, Cavs forward Donyell Marshall, en Bulls forward Adrian Griffin. De Cavs ontvingen Bulls center Ben Wallace, Bulls forward Joe Smith, de tweede ronde van 2009 van de Bulls (wat Danny Green bleek te zijn), Sonics forward Wally Szczerbiak, en Sonics guard Delonte West. De Bulls ontvingen Brown, Cavs forward Drew Gooden, Cavs guard Larry Hughes, en Cavs forward Cedric Simmons.
Charlotte Bobcats (2008-2009)Edit
Op 6 augustus 2008 tekende hij bij de Charlotte Bobcats voor een eenjarig contract met het minimum NBA-salaris van 800.000 dollar. Hij zou gemiddeld slechts 4,8 punten halen in beperkte actie bij de Bobcats.
Los Angeles Lakers (2009-2011)Edit
Op 7 februari 2009 werd Brown, samen met Adam Morrison, verhandeld aan de Los Angeles Lakers voor Vladimir Radmanović.
Brown’s speeltijd bij de Lakers was aanvankelijk beperkt. Tegen het einde van het seizoen kreeg Brown meer speeltijd. In de 5 laatste wedstrijden van het seizoen speelde Brown gemiddeld 16,4 minuten. In die minuten had hij een gemiddelde van 7,2 punten, 2,4 rebounds en 1,6 assists.
Brown’s toegenomen speeltijd werd doorgetrokken naar de play-offs. In de openingswedstrijd in de eerste ronde tegen de Jazz speelde Brown 22 minuten. Hij had 9 punten, 3 assists, 2 rebounds en een steal. Hij eindigde de serie met een gemiddelde van 17,4 minuten, 7,2 punten, 1,2 rebounds, 1,8 assists en één steal per wedstrijd.
Op 6 juli 2009 ging Brown akkoord met een terugkeer bij de Lakers voor twee jaar en 4,2 miljoen dollar.
Op 18 januari 2010 werd bekend dat hij was geselecteerd voor de Sprite Slam Dunk Competition in Dallas tijdens het 2010 All-Star weekend. Op dezelfde dag leidde hij de Lakers met 22 punten in hun 98-92 overwinning tegen de Orlando Magic. Brown deed op 13 februari 2010 mee aan de dunkwedstrijd, maar kwam niet verder dan de eerste ronde.
Op 16 februari, 2010, in een wedstrijd tegen de Golden State Warriors, scoorde Brown een recordaantal van 27 punten en pakte 10 rebounds voor zijn eerste double-double uit zijn carrière. Aan het einde van het seizoen won hij zijn tweede kampioenschap.
Op 8 augustus 2010 tekende Brown een tweejarig contract bij de Lakers ter waarde van 4,6 miljoen dollar. Tijdens dat seizoen had hij een gemiddelde van 8,7 punten in 19 minuten per wedstrijd. Hij scoorde een season-high van 21 punten in twee afzonderlijke wedstrijden tegen de Milwaukee Bucks (16 nov.) en de Chicago Bulls (23 nov.). In het naseizoen had Brown een gemiddelde van 7 punten per wedstrijd. In de laatste twee wedstrijden van de Lakers tegen de Dallas Mavericks scoorde Brown respectievelijk 10 en 15 punten voordat zijn team werd geveegd.
Op 30 juni 2011 koos Brown ervoor zijn optie om zijn contract met de Lakers voor het seizoen 2011-12 te verlengen niet uit te oefenen.
Phoenix Suns (2011-2013)Edit
Na afloop van de NBA-lockout van 2011 op 8 december 2011 tekenden de Phoenix Suns Shannon Brown voor een eenjarig contract. Op 15 maart 2012, leidde Brown de Suns met 21 punten in een zware 91-87 overwinning op de Los Angeles Clippers. Op 27 maart 2012 scoorde Brown een carrière-high 32 punten, met vijf driepunters, in een verlies tegen de San Antonio Spurs. Op 7 april 2012 scoorde Brown 20 punten in het derde kwart tegen zijn voormalige ploeg, de Los Angeles Lakers. Hij leidde de ploeg met 24 punten in een overweldigende 125-105 overwinning. Twee dagen later pakte Brown zeven rebounds voor de Suns (samen met Marcin Gortat het hoogste aantal rebounds) in een knallende 114-90 overwinning tegen de Minnesota Timberwolves.
Op 25 juli 2012 ging Brown akkoord met een contract voor twee jaar ter waarde van 7 miljoen dollar. Op 7 november 2012 sloeg Brown zes driepunters op rij in het vierde kwart om het team te leiden in punten met 24 en hen te helpen met een 117-110 overwinning tegen zijn voormalige team, de Charlotte Bobcats. Twee dagen later scoorde hij 12 van zijn 22 punten in het vierde kwart van een 107-105 overwinning tegen een andere voormalige ploeg, de Cleveland Cavaliers. Dit was de eerste keer dat hij 20 of meer punten scoorde in opeenvolgende wedstrijden.
Op 25 oktober 2013 werd Brown, samen met Marcin Gortat, Malcolm Lee, en Kendall Marshall, verhandeld aan de Washington Wizards in ruil voor Emeka Okafor en een 2014 first-round draft pick. Brown, Lee, en Marshall werden allen drie dagen later door de Wizards afgezwaaid.
San Antonio Spurs (2014)Edit
Op 1 februari 2014 tekende Brown een 10-daags contract bij de San Antonio Spurs. Op 12 februari 2014 tekende hij een tweede 10-dagen contract bij de Spurs. Nadat Brown’s tweede 10-dagen contract afliep, besloten de Spurs om afscheid van hem te nemen. De Spurs zouden uiteindelijk in hetzelfde seizoen de 2014 Finals winnen, hun 5e titel in de geschiedenis van de franchise.
New York Knicks (2014)Edit
Op 27 februari 2014 tekende Brown een 10-dagen contract bij de New York Knicks. Op 10 maart 2014 tekende hij een tweede 10-dagen contract bij de Knicks. Op 20 maart 2014 tekende hij bij de Knicks voor de rest van het seizoen. Op 23 juli 2014 werd hij door de Knicks afgezwaaid.
Miami Heat (2014)Edit
Op 27 augustus 2014 tekende Brown bij de Miami Heat. Op 24 november 2014 werd hij afgezwaaid door de Heat na in vijf wedstrijden te zijn verschenen.
NBA G League (2016-2018)Edit
Op 30 oktober 2016 werd Brown geselecteerd door de Grand Rapids Drive in de tweede ronde van de 2016 NBA Development League Draft, maar werd op 10 november afgezwaaid door de Drive.
Op 16 november 2017 werd Brown toegevoegd aan het roster van de Milwaukee Bucks G-League affiliate, de Wisconsin Herd. Op 26 januari 2018 werd hij verhandeld aan de Delaware 87ers, waar hij diezelfde dag zijn debuut maakte.