Bassett is at (37.904017, -95.408005). The city is east of the Neosho River along the south bank of Elm Creek in Iola Township. It is next to the southern border of the city of Iola (the county seat). Lake Bassola is east of the city. The city is less than two miles southwest of the interchange between U.S. Routes 54 and 169.