30 cities
| City | County | 2026 Pop. ↓ |
|---|---|---|
| O'Fallon | St. Charles County | 97,200 |
| Oakville | St. Louis County | 34,941 |
| Ozark | Christian County | 24,168 |
| Old Jamestown | St. Louis County | 21,568 |
| Overland | St. Louis County | 15,362 |
| Oak Grove | Jackson County | 9,595 |
| Olivette | St. Louis County | 9,185 |
| Odessa | Lafayette County | 5,729 |
| Osage Beach | Camden County | 5,336 |
| Oronogo | Jasper County | 3,455 |
| Owensville | Gasconade County | 2,767 |
| Oakland | St. Louis County | 1,371 |
| Oran | Scott County | 1,207 |
| Osceola | St. Clair County | 1,001 |
| Oregon | Holt County | 835 |
| Orrick | Ray County | 733 |
| Olympian Village | Jefferson County | 708 |
| Otterville | Cooper County | 453 |
| Oak Grove Village | Crawford County | 400 |
| Osborn | DeKalb County | 376 |
| Oakview | Clay County | 364 |
| Ozora | Ste. Genevieve County | 347 |
| Old Monroe | Lincoln County | 293 |
| Oak Ridge | Cape Girardeau County | 239 |
| Oakwood | Clay County | 197 |
| Oakwood Park | Clay County | 187 |
| Oaks | Clay County | 125 |
| Olean | Miller County | 122 |
| Old Appleton | Cape Girardeau County | 75 |
| Osgood | Grundy County | 21 |