West Salem is located in La Crosse County between La Crosse and Tomah along Hwy 16 on the banks of the La Crosse River near Sparta, the Coulee State Forest, and Neshonoc Lake. The population estimate for July 1, 1998 was 4,229, an increase of 618 since 1990.