Die Broye ist mit knapp 70 Kilometern Flusslänge einer der längsten Flüsse in der Westschweiz. Auf ihrem Weg von den Freiburger Voralpen bis zur Mündung in den Neuenburgersee fliesst sie auf dem Gebiet der Kantone Freiburg, Neuenburg, Waadt und Bern.
Broye: Quelle bis Payerne
Die Broye entsteht auf einer Höhe von rund 1245 Metern über Meer unter dem Namen Ruisseau des Planes am Westhang des Les Alpettes. Sie fliesst zunächst den Hang hinunter und erreicht dann mit Semsales das erste Dorf. Hier lässt sie die Mortive und die Dâ zufliessen, bevor sie weiter in Richtung Südwesten und vorbei an Maracon zieht. Bei Tatroz, wo die Tatrel von links einfliesst, zieht sie eine grosse Schlaufe, um fortan gegen Nordwesten zu fliessen. So fliesst sie am Dorf Palézieux, wo mit der Biorde und der Mionna gleich zwei wichtige Zuflüsse aufgenommen werden, vorbei. Nach Oron-la-Ville, wo der Flon und der Grenet einfliessen, geht es weiter nach Ecublens, wo sie den Parimbot mitnimmt. Kurz nach Ecublens fällt die Broye über den schönen Wasserfall “Chutes de Chavannettes”, um dann für einige Kilometer durch eine Schlucht weiter nordwärts zu fliessen.
Am Ende der Schlucht beim Weiler Bressonnaz nimmt sie dann die Carrouge von links zu sich auf. Danach passiert die Broye nacheinander die Dörfer Moudon, Lucens, Henniez und Granges-près-Marnand und lässt dabei unter anderem die Bäche Mérine, Cerjaule oder Lembe zufliessen. Nun erreicht sie das schöne Städtchen Payerne.
Broye: Broyetal, Murtensee und Broyekanal
Nach Payerne zieht die Broye durch das fruchtbare Ackerland vom Broyetal vorbei an Domdidier und Avenches. Dann nimmt sie noch die kräftigen Zuflüsse Arbogne von rechts und die Petit Glâne von links mit, bevor sie in Salavaux in den Murtensee speist.
Den Murtensee verlässt die Broye in Sugiez am Nordende des Sees wieder. Sie fliesst nun durch den schiffbaren Broyekanal und zieht in diesem eine Schlaufe um den Mont Vully gegen Westen. Nachdem ihr hier noch der Grand Canal und der Hauptkanal zugeflossen sind, mündet sie wenige Kilometer später nördlich von Cudrefin auf 429m in den Neuenburgersee ein.