Windsor is a city in Henry and Pettis counties, Missouri, United States. The population was 2,901 at the 2010 census.
Windsor was laid out in 1855, and originally known as Belmont. Its name was changed to Windsor in 1859, after Windsor Castle, in England. A post office called Windsor has been in operation since 1850.
The city is located in northeast Henry County and extends to the northeast into the southwest corner of Pettis County. It is at the intersection of Missouri routes 52 and 2. Clinton is 16 miles to the southwest, Warrensburg is about 18 miles to the northwest and Sedalia is approximately 18 miles to the northeast. The east fork of Tebo Creek flows past the west side of the city.
According to the United States Census Bureau, the city has a total area of 2.45 square miles (6.35 km2), of which 2.42 square miles (6.27 km2) is land and 0.03 square miles (0.08 km2) is water.
As of the census of 2010, there were 2,901 people, 1,193 households, and 781 families living in the city. The population density was 1,198.8 inhabitants per square mile (462.9/km2). There were 1,381 housing units at an average density of 570.7 per square mile (220.3/km2).