Izveidošanās un attīstība Buļļi sākotnēji veidojās kā divi zvejnieku ciemi tagadējos Rītabuļļos un Vakarbuļļos. Pirmās ziņas par Buļļu muižu (Bullenhof) ir minētas 15. gs. beigās. Buļļu muižas ēka atradās mūsdienu Rojas ielas 1 apkārtnē.
1617. gadā Kurzemes hercogs Vilhelms Ketlers (Wilhelm Kettler) Buļļu muižu izīrēja savam sekretāram Paulam Špankavam (Paul Spankau), kura tiesības uz īpašumu 1621. gadā apstiprināja Zviedrijas karalis Gustavs II Ādolfs (Gustav II Adolf).
Zviedru laikā Vidzemē 1638. gadā veiktajā arklu revīzijā Buļļu muižā tika uzskaitīti 43 vīrieši (no tiem 19 jaunāki par 15 gadiem), 25 govis un 10 zirgi. Salīdzinoši lielais zirgu skaits ir izskaidrojams ar to, ka buļļinieki tos izmantoja pārceltuves darbos un ar zveju saistītas loģistikas nodrošināšanā.
17. gs. beigās tagadējā Buļļu sala, kas šķīra Lielupi no jūras, bija ievērojami šaurāka, un ap 17.–18. gs. miju palu laikā Buļļupe pārrāva zemes strēli uz rietumiem no Daugavgrīvas cietokšņa, kas to šķīra no jūras, izveidojot sev jaunu ieteku jūrā – Ziemeļupi; tādējādi Buļļi tika pilnībā norobežoti no Daugavgrīvas. 18. gs. laikā atteka aizsērēja, un līdz mūsdienām ir saglabājies tikai Buļļupes līcis – Ziemeļupe, kas 20. gs. otrajā pusē vairākkārt tika mākslīgi padziļināta. 1755. gadā kārtējos pavasara palos Lielupe pārrāva kāpu joslu pie Vārnu kroga, kā rezultātā izveidojās mūsdienu Lielupes ieteka jūrā.
Ap 19. gs. Buļļupe turpināja veidoties par nozīmīgu upju transporta ceļu, jo tās dziļums bija pietiekams, lai pa to peldētu nelieli upju tvaikoņi. 1872. gadā Buļļos tika atklāta glābšanas stacija (Rettungsstationen), kas, iespējams, tika nopostīta Pirmā pasaules kara laikā.
1919. gada rudenī Buļļu apkārtnē norisinājās vairākas Latvijas armijas militāras operācijas, kurām bija izšķiroša nozīme Rīgas aizstāvēšanā pret Rietumu brīvprātīgo armiju. Latvijas armijai pilnībā izdevās atbrīvot Buļļu salu no Rietumu brīvprātīgo armijas vienībām 1919. gada 3. novembrī.
1924. gada 24. februārī Saeimā tika pieņemts “Likums par Rīgas pilsētas administratīvajām robežām”, kā rezultātā Rīgas pilsētas administratīvajā teritorijā tika iekļauti arī Buļļi līdz ar Daugavgrīvu, Bolderāju, Kleistiem un citām Pārdaugavas teritorijām. 1924. gadā Buļļuciema, kas atrodas otrpus Lielupei (Jūrmalas pilsētā), un Vakarbuļļu zvejnieki izveidoja biedrību, kas vēlāk pārtapa zvejnieku sabiedrībā “Neptūns”.
Starpkaru periodā sabiedriskā transporta infrastruktūra Buļļu apkaimē bija samērā vāji attīstīta. No Rīgas ar vilcienu varēja nokļūt tikai līdz Bolderājas dzelzceļa stacijai, bet ar autobusu – līdz Bolderājas tiltam. Neskatoties uz to, ka ūdens navigācijas sezonā 20. gs. 30. gados Buļļupe bija galvenais satiksmes ceļš starp Daugavu un Lielupes lejteci, tomēr centralizētus pasažieru pārvadājumus veica tikai viens upes kuģītis, kas kursēja maršrutā Sloka–Rīga, uz īsu brīdi pietauvojoties Buļļos.
1938. gadā Buļļos bija 146 iedzīvotāji, funkcionēja vairāki veikali un Rītabuļļos bija apmēram 70 vasarnīcas.
Ielu tīklojums pastāvēja tikai Rītabuļļos, kur 30. gadu otrajā pusē tika paredzēta arī jaunprojektēto ielu tīkla izveide teritorijā starp Rītabuļļu apbūvi un Buļļupes līci (Ziemeļupi). Iespējams, ka šī projekta realizācija netika uzsākta 1940.–1941. gada padomju okupācijas dēļ.
1939.–1941. gadā izceļojušo vācbaltiešu vasarnīcas līdz ar zemes gabaliem 1941. gadā tika piešķirtas Padomju Sociālistisko Republiku Savienības (PSRS) kara flotes virsniekiem.
Buļļu iedzīvotāji, kuri necieta 1940.–1941. gada PSRS okupācijas un nacistiskās Vācijas okupācijas periodos, daļēji devās bēgļu gaitās, lai izvairītos no politiskajām represijām PSRS otrreizējās okupācijas periodā, taču daļa palikušo buļļinieku (galvenokārt zvejnieki) tomēr tika represēti.
Pēc Otrā pasaules kara daļa Buļļu teritorijas tika atsavināta, lai izvietotu PSRS Rīgas kara flotes bāzes un kara flotes virsnieku ģimenes.
1952. gadā Buļļus iekļāva Ļeņina rajonā, bet 1969. gadā no Ļeņina rajona atdalīja ziemeļu daļu un izveidoja Ļeņingradas rajonu, kurā iekļāvās arī Buļļi.
20. gs. 50. gadu vidū Ilmeņa ielā 6 tika uzcelts ēku komplekss, kurā tika izvietota PSRS kara jūrnieku atpūtas bāze “Buļļi”. Teritorijā atradās divstāvu dzīvojamā ēka, ēdnīca, sporta zāle, katlumāja, bumbu patvertne un citas ēkas.
20. gs. 60.–80. gados vairākkārt tika veikta Buļļupes un Lielupes gultnes padziļināšana, lai iegūtu smiltis, kas bija nepieciešams izejmateriāls, lai ražotu būvmateriālus Bolderājas silikātķieģeļu rūpnīcā. Smilšu ieguves rezultātā Buļļupes un Lielupes padziļināšana izsauca to, ka tika apbērtas palieņu pļavas un pārveidoti krasti, tādējādi izjaucot ekoloģisko līdzsvaru un ieviešot būtiskas izmaiņas Buļļu apkārtnes ainavā.
1990. gadā, īsi pēc Latvijas neatkarības atjaunošanas, Ļeņingradas rajons, kurā atradās arī Buļļi, tika pārsaukts par Kurzemes rajonu.
2003. gadā tika pabeigts pirmais no jauna celtais tilts atjaunotajā Latvijas Republikā, kas savieno Buļļu salā esošās Buļļu un Daugavgrīvas apkaimes ar Bolderājas apkaimi.