Major universities in the city include St. Petersburg State University (SPbSU or СПБГУ), the ITMO University (ITMO or ИТМО), St. Petersburg Polytechnic University (Polytech or Политех), St. Petersburg State University of Economics, and the Herzen State Pedagogical University (Herzen or Герцен). Recently, Moscow's Higher School of Economics (HSE or ВШЭ or coloquially, Вышка) has been expanding its footprint in the city and now has a campus and several degree programs running.
All of the above institutions admit foreign students, though there is only a handful of English-language undergrad programs (essentially, in Business/Economics and in International Relations); the number is somewhat higher for master-level degrees and the programs cover many more fields.
All other degrees, undergraduate and graduate, are taught in Russian. Though this may sound like an insurmountable obstacle to some, let me assure you that it really isn't: one can take preparatory courses before starting the main degree program. Hundreds, if not thousands, of foreign students (mainly from Asian and Latin American countries, as well as from Russia's "near abroad") are pursuing their degrees in the city in Russian, despite speaking it only as a second/foreign language.
Tuition fees vary by institution and major, but are typically only a fraction of what it costs to study in the U.S.A.; using St. Petersburg State University as an example (which is a darn good example as it is the largest and most prestigious university in the city, not to mention the oldest in Russia), as of 2017/2018, typical foreign-citizen tuition was about 220,000 rubles (approximately $4,000) per year for undergraduate programs and 280,000 rubles (approximately $5,000) per year for master- and PhD-level programs. A very limited number of state-subsidized vacancies (which allow one to enroll tuition-free and receive a monthly stipend) for foreign students also exist but let's stay realistic: these are only for special cases.
The above prices are competitive, but not exactly dirt-cheap. In fact, they are somewhat higher than what many Western European universities charge (when they charge anything at all), so many students from Asia and the Americas choose those countries over Russia.
That said, St. Petersburg can be an excellent choice for those wishing to study (and practice) Russian for an extended period of time. There are also degree programs in Russian Literature (taught in Russian) and in Translation, both undergraduate and graduate. From my personal acquaintances (admittedly we're starting to veer into rumour and hearsay here), a few intrepid souls–all Italian, for some reason–have managed not only to get accepted but to get through their language and literature degrees solely in Russian. So, it can be done.