The accident occurred on the Struma highway about 45 kilometres west of the Bulgarian capital Sofia at around 2am local time.
Ministry officials say children are among the victims and the bus was carrying mostly tourists from North Macedonia.
The cause of the crash is not clear. An investigation will be launched.
Traffic on the highway has been restricted in both directions.
Bulgarian news agency Novinite said representatives from Macedonia’s embassy visited a hospital where some of the victims were taken.
Caretaker Prime Minister Stefan Yanev visited the site of the crash and told reporters it was “a huge tragedy.”
“I take this opportunity to send my condolences to the relatives of the victims,” Mr Yanev said.
“Let’s hope we learn lessons from this tragic incident and we can prevent such incidents in the future.”