The bus landed on its roof when it hit the main Rio thoroughfare of Avenida Brasil, the BBC reported.
Five men and two women were killed.
Globo TV showed firefighters evacuating injured passengers during the evening rush hour.
A witness told Globo the driver was involved in a dispute with a passenger moments before the accident.
The cause was being investigated.
2014: The Year in Fashion [PHOTOS]
Syrian Al Qaida group executes Lebanese soldier