Public transport by road looks chaotic but it works and carries millions of passengers every day.The city's buses, trolley buses and trams operate from about 6:00 to midnight. The price of a ticket, 21 roubles in 2011, is still inexpensive by European standards.
The underground train network is clean, fast, understandable and covers great distances. A ticket for one metro trip costs 25 roubles (2011). One trip means your entire journey on the network, so if you change trains without leaving the station, you don't need a new ticket.
With five lines, metro coverage is not as dense as in many other cities of the same size. Many places, even in the centre, have no nearby metro station. The network is being expanded but this is difficult and expensive because the city was built on swamps.
There is no late metro service so, if you find yourself in a distant location after midnight, a taxi may be your only choice.
To use a taxi needs bargaining skill; the price should be fixed before the trip begins. The driver will probably prefer not to use the meter, which may be of dubious accuracy anyway.
The option of ordering a taxi by telephone is only theoretically possible because few telephonists can manage basic English. However many fine restaurants have their own taxi service and a taxi can be ordered by asking the waiter.
The other option is a route taxi. This is a privately owned minibus that operates like a bus, following a specific route, picking up people who hail it along the way and dropping them off where they want. Route taxis are obviously hard to use if you don't understand Russian and don't know exactly where you're going.
Roaming charges, the cost of calling and receiving calls as a guest of network that is not your own, are high. They are at least twice as much per minute as in most of Europe.