El municipio de Soria está a orillas del río Duero, en su curso alto, sobre las estribaciones del Sistema Ibérico. La ciudad de Soria se extiende sobre dos cerros (el cerro del Castillo, y el cerro del Mirón), y la cañada que los separa, en la margen derecha del Duero. En la actualidad, pese a que hay un barrio en la margen izquierda del Duero (al otro lado del Puente de Piedra), la ciudad se ha extendido hacia el oeste.
Además de la ciudad de Soria, en el término municipal se encuentran el barrio Las Casas a 1,2 km de la ciudad y tres localidades: Oteruelos, Pedrajas y Toledillo. También incluye dos enclaves despoblados, el de los Pinares de Soria al oeste y un pequeño sector en la sierra de Toranzo al oeste, y tres embalses, Los Rábanos, Azud de Buitrago y La Cuerda del Pozo. El término municipal se extiende un total de 27 240 hectáreas y su altitud oscila entre los 1000 y los 1200 m. Por ejemplo, la ciudad de Soria está a unos 1064 m, el cerro de Santa Ana a 1268 m y el pico del Berrún a 1224 m