El Soła neix a la serralada occidental de les Beskides prop de la frontera amb Eslovàquia, a partir de la confluència de diversos rierols petits al poble de Rajcza. Corre avall en direcció nord-est a través de la conca del Żywiec cap a les ciutats de Żywiec i Kęty, formant la frontera entre les Beskides de Silèsia i del Żywiec. Després de 89 km de recorregut, el Soła desemboca al Vístula passat la ciutat de Oświęcim.
Els riu flueix a uns metres del camp d'extermini d'Auschwitz. El Museu d'Auschwitz–Birkenau informa que les cendres humanes i ossos d'aquells assassinats al camp eren sovint abocats al riu.[1]
El Soła flueix a través, o a prop, de les següents poblacions: Rajcza, Milówka, Cisiec, Węgierska Górka, Cięcina, Radziechowy, Wieprz, Żywiec, Tresna, Czernichów, Międzybrodzie Żywieckie, Międzybrodzie Bialskie, Porąbka, Czaniec, Kobiernice, Kęty, Nowa Wieś, Hecznarowice, Bielany, Łęki, i Oświęcim.