The accident happened around 4 a.m. about 200 kilometers (124 miles) south of Zagreb, on a highway connecting the Croatian capital with the central Adriatic coastal city of Split, according to a police statement.
Croatia's state TV said the bus crashed through metal barriers in the middle of the highway, and overturned in the opposite lane near a tunnel.
State TV quoted eyewitnesses as saying that the bus started "swaying" moments before the crash.
Photos from the scene showed the bus's twisted metal remains on its side, with seven dead passengers
-- covered with white sheets -- lying on the pavement. State TV said a child was among the dead, and an eighth casualty was discovered in the wreckage.
Most of the injured passengers were hospitalized in the nearby town of Gospic while three of the most seriously hurt, including two children, were flown to Zagreb by a helicopter.
Hospital doctor Marija Vrkljan Ilijevska told Croatian TV that those hospitalized were not seriously injured, mostly with extreme fractures and concussions.
The highway was closed for traffic, and the cause of the accident is under investigation.