Bull Shoals is located in northeastern Marion County and is bordered on three sides by Bull Shoals Lake, with the main channel of the lake, on the White River, to the southeast and northeast, and a long arm of the lake formed by the inlets of Jimmie Creek and Moccasin Creek on the northwest side of the city. The southeast border of the city, in the White River, is the Baxter County line.
