The calculated distance (air line) between Villefranche-sur-Mer and Montpellier is approximately 172 miles respectively 276 kilometers.
By car or train, the actual journey to Montpellier is certainly longer, as only the direct route (as the crow flies) between Villefranche-sur-Mer and Montpellier has been calculated here.
Air line (approximately)
276 kilometers
149 nautical miles