Vienne har sitt utspring i departementet Corrèze, ved foten av Mont Audouze på Plateau de Millevaches nær Peyrelevade. Den renner stort sett vestover til byen Limoges, der den en gang spilte en viktig rolle i den vidkjente porselenindustrien i byen. Et lite stykke etter Limoges snur elven nordover. På vei til munningen i Loire mottar Vienne elvene Creuse og Clain. Vienne munner ut i Loire ved Candes-Saint-Martin i departementet Indre-et-Loire. Elven har en lengde på 363 km.