The official language is Portuguese. It is spoken natively by over half of the population, but basically everyone (95%) can speak it. The other main language is Forro, which is a Portuguese-based creole language spoken natively by 43% of the population and as a second language by just as many (85% in total). So, 95% can speak Portuguese and 85% can speak Forro, but the official language is again purely Portuguese.
As a rule, Portuguese is the main language in the northern part of the São Tomé island, whereas Forro is more common in the south. On the Principe island the main language is Portuguese.
When speaking Portuguese, São Toméans generally use a dialect known as São Toméan Portuguese. It is similar to Brazilian Portuguese in terms of grammar and pronunciation, which is very different from European Portuguese. However, most people can switch to European Portuguese and thus neither Portuguese nor Brazilians should have trouble communicating.
English is virtually non-existent in this country, since it is not taught in schools and English-speaking tourists are also virtually non-existent; you will however have better luck with French, which is taught in schools and thus spoken by many.
So, basically, it is essential to know either Portuguese, Forro or French in order to get along.