Spiro is a town in Le Flore County, Oklahoma, United States. It is part of the Fort Smith, Arkansas-Oklahoma Metropolitan Statistical Area. The population was 2,227 at the 2000 census.
Spiro is located at 35°14′29″N 94°37′15″W / 35.24139°N 94.62083°W / 35.24139; -94.62083 (35.241464, -94.620717).
According to the United States Census Bureau, the town has a total area of 2.2 square miles (5.7 km²), of which, 2.1 square miles (5.5 km²) of it is land and 0.1 square miles (0.2 km²) of it (3.18%) is water.