The bus companies in Brazil are not that great and quite expensive. This is most trafficked flight in the country and therefore for literally US$10 more than the cost of a bus ticket you can fly.
However, the trick is that you need to book the flight while in the country and sitting next to a friendly Brazilian as the two best airlines GOL (http://www.voegol.com.br/Paginas/home.aspx) and Webjet (http://www.webjet.com.br/empresa/novosite/v3/index.aspx) aren't available in English.
Good luck! about 10 years ago
Diret. You have to go to "Tietê" Station. There you can find 4 Bus companies that make this route (são Paulo - Rio de Janeiro): 1001, Expresso Brasileiro, Expresso do Sul and Itapemirim. You can find and buy tickets there, at last every 30 minutes, 24 hours per day. about 9 years ago