São Tomé ligger nordøst på øya São Tomé. Byen befinner seg nordøst for Trindade, sørøst for Guadalupe og nordvest for Santana. Hovedstaden er forbundet med disse byene med forskjellige veier.