The Lielupe begins at the confluence of the Mēmele and Mūsa rivers near Bauska.
For the upper part of its course, the river flows through a dolomite valley with a few small rapids, until it reaches Mežotne, where it widens and deepens over the flat Zemgale Plain.
For many years the Lielupe would frequently overflow its shallow banks and flood surrounding fields and villages, particularly during the spring thaw.
Today many parts of the Lielupe's banks are contained with earthen dikes to prevent disastrous floods.
Municipalities along the river include Bauska, Mežotne, Jelgava, Kalnciems, Jūrmala and Riga.