Die Existenz von Bulle ist seit dem 9. Jahrhundert bezeugt. Die Stadt ist zu jener Zeit Sitz der Hauptkirche einer ausgedehnten Region. Hier, am Knotenpunkt mehrerer Täler und Verkehrswege, wird ab dem 12. Jahrhundert wöchentlich Markt gehalten. Der Ursprung des Namens Bulle ist nicht bekannt. Frühere Namen der Stadt waren Butulum (9. Jahrhundert), Bollo (1200), Bullo (gegen 1225) und auf Deutsch Boll.
Im Mittelalter ist Bulle im Besitz der Bischöfe von Lausanne, die ein Schloss und eine Ringmauer errichten lassen. Im Anschluss an die Besetzung des Waadtlandes durch Bern (1536) werden die Einwohner von Bulle Untertanen Freiburgs. Der Stier auf dem Wappen von Bulle ist ein «sprechendes Wappen». In diesem hat sich die Ähnlichkeit des Dialektbegriffs bolè (junger Stier) mit dem Namen der Stadt niedergeschlagen.
Ab dem 17. Jahrhundert ist Bulle eine wichtige Etappe auf dem Exportweg der Greyerzer Käse. Die Laibe werden in ihren Kellern gesammelt, bevor sie nach Vevey, Genf und auf die Märkte von Lyon gelangen.
Im 18. Jahrhundert sind fast alle Dächer von Bulle mit Dachschindeln oder Tavillons (Holzziegeln) gedeckt. Diese tragen auf verhängnisvolle Weise zur Ausbreitung einer verheerenden Feuersbrunst bei, die am 2. April 1805 grosse Teile der Stadt zerstört. Der Wiederaufbau dauert ein halbes Jahrhundert.
Seit 1848 ist Bulle Hauptort des Bezirks La Gruyère, 1868 erfolgt die Anbindung an das nationale Eisenbahnnetz. Seit der Anbindung an die RER (das regionale Expressnetz) im 2012 ist die Stadt nur noch eine Bahnstunde von Lausanne und Bern entfernt. Schon die Eröffnung der Autobahn A12 (1981) hatte zur Stärkung der Anziehungskraft der Stadt beigetragen: 1722 zählte sie 1000 Einwohner, 1912 waren es 4000 und nach der Fusion mit La Tour-de-Trême (2006) sind es 2013 rund 20’000.