Elva har utspring i et lite tjern i Tinnet Krat i Vejle kommune, bare en halv kilometer nordvest for Gudenåens kilde. Den renner derfra mot nordvest og passerer gjennom innsjøene Rørbæk Sø (56 moh) og Kulsø (54 moh). Den renner deretter i vestlig retning og passerer like ved byene Brande, Tarm og Skjern, som den har navn etter. Elva munner ut i den sørøstlige delen av Ringkøbing Fjord gjennom Skjern Å-deltaet, som er Danmarks eneste elvedelta.