Река Шпрее води началото си от извор-чешма, на 499 m н.в., от северното подножие на Лужицките планини, на 1 km северно от град Ейбау, в югоизточната част на провинция Саксония, Германия. След около 15 km преминава през чешка територия (1,6 km) и отново се връща в Германия, като завива на север и до устието си тече през южната част на Северногерманската равнина. На около 10 km след град Котбус завива на запад, при Любенау – на север, а след това на изток и се влива от запад в езерото Швилохзее, като образува голяма изпъкнала на запад дъга. След изтичането си от езерото тече на север, а след отклонението на плавателния канал „Одер-Шпрее“ завива на запад-северозапад и запазва това направление до устието си. В западната част на Берлин (окръг Шпандау), на 29 m н.в. се влива отляво в река Хафел, десен приток на Елба.[2]
Водосборният басейн на Шпрее обхваща площ от10 100 km², което представлява 41,92% от водосборния басейн на Хафел. Речната ѝ мрежа е двустранно развита. На изток водосборният басейн на Шпрее граничи с водосборния басейн на Одер, на югозапад – с водосборните басейни на Шварце-Елстер и други по-малки реки, десни притоци на Елба, а на запад и север – с водосборните басейни на Нуте и други по-малки реки, леви притоци на Хафел.[2]
Шпрее има смесено снежно-дъждовно подхранване с повишено пролетно пълноводие и слабо изразено лятно маловодие. Среден годишен отток в устието 38 m³/sec.[2]
Стопанско значение, селища
По свеето течение рекат преминава през няколко естествени (Швилох и др.) и изкуствени (Бауцен, Шпремберг и др.) езера, които спомагат за целогодишното регулеране на оттокът ѝ. В долното си течение (182 km) Шпрее е канализирана и шлюзована и е плавателна за плиткогазещиречни съдове. Чрез плавателния канал „Одер-Шпрее“ се свързва на изток с река Одер (Одра).