Eskişehir'in çifteler ilçesinin Sakar Başı mevkiinden kaynak hâlinde doğan ırmak, Karasu ilçesinin batısında Karadeniz'e dökülür. Doğuş yerinden doğuya doğru aktıktan sonra Eskişehir, Ankara illeri sınırı yakınında kuzeye doğru döner. Sündiken Dağları kuzeyine kadar bu yönde akar ve batıdan gelen Porsuk Çayı ve doğudan gelen Ankara Çayı ile birleşir. Daha pekçok dereleri aldıktan sonra Beypazarı'nın güneyinden batıya döner. Bilecik tarafında kuzeye yönelir, derin boğazlardan geçerek Adapazarı Ovasına uzanır. Göksu, Karasu ve Mudurnu Çayını da aldıktan sonra Karadeniz'e dökülür.
Nehrin ve kollarının bulunduğu arâzi fazla yağışlardaki taşmalarla büyük zararlar görürken, sayıları on civârında olan barajlarla, geniş ölçüde bunun önüne geçilmiştir. Sarıyer ve Gökçekaya barajları önemli olanlardır. Ayrıca kolu olan Porsuk Çayı üzerinde Porsuk Barajı vardır.
Önce İç Anadolu'ya doğru akar sonra Kızılırmak'ın tersine bir kıvrımla, kuzeye döner, Polatlı yakınlarında en büyük kollarından biri olan Porsuk Çayı'nı alır. Geyve Boğazı'ndan geçer ve Adapazarı Ovası'ndan akarak Karadeniz'e dökülür. Sakarya Nehri'nin Aladağ ve Kirmir sularını aldığı yerde Türkiye'nin en büyük santrallerinden biri olan Sarıyar Hidroelektrik Santrali ve Gökçekaya Hidroelektrik Santralı kurulmuştur.
Sakarya nehri karasu ilçesinin yeni mahalle köyü ve Beşiktaşlı eski futbolcu Recep'in köyü olan ihsaniye köyünün ortasından geçerek karadenize dökülür.