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.
Video of Victoria’s Secret models trying to 'twerk' hits Instagram
Exploding whale video goes viral on Internet