Z jeziora Wierzchowo, rzeka płynie na południe przy południowej części wsi Stare Wierzchowo. Następnie dalej na południe do jeziora Smolęsko. Wypływa od południowego brzegu i biegnie w kierunku południowym. Dalej przepływa przez zachodnią część wsi Spore. Stąd dalej na południe, gdzie wpada do północno-zachodniej zatoki jeziora Wielimie. W pobliżu Gwdy Małej wpada do rzeki jej odnoga, Dołga (przepływająca m.in. przez Dołgie Jezioro). Następnie nad Gwdą prowadzą droga krajowa nr 20 oraz tory linii kolejowej Szczecinek–Miastko–Słupsk, a ok. 2,5 km na południe – linia kolejową Szczecinek–Czarne–Chojnice. W okolicach Lubnicy wpada do niej największy jej dopływ, Czernica i aż do Lędyczka rzeka wyznacza granicę pomiędzy województwami wielkopolskim i pomorskim. Następnie płynie wzdłuż dróg krajowych nr 22 i nr 11, omijając Jastrowie oraz Tarnówkę. Kolejno przepływa przez Płytnicę, a ok. 9 km na południe przez Piłę. W Ujściu wpada do Noteci.
Średni przepływ rzeki w Pile wynosi 27 m³/s. Gwda wpada do mniejszej w tym miejscu Noteci – średni przepływ w Ujściu po połączeniu rzek to 44 m³/s.