The calculated distance (air line) between Porto Alegre and São Leopoldo is approximately 19 miles respectively 31 kilometers.
By car or train, the actual journey to São Leopoldo is certainly longer, as only the direct route (as the crow flies) between Porto Alegre and São Leopoldo has been calculated here.
Air line (approximately)
31 kilometers
17 nautical miles