The bus was carrying around 30 passengers on a steep road around midday between the tourist hotspot of Budva, on the Adriatic Sea coast, and the ancient capital Cetinje.
“I was listening to music and everything was normal. Then all of a sudden there were screams and sounds of breaking glass,” one of the passengers told national radio RTCG.
It is unclear what caused the bus to skid about 15 meters into the ravine. Photos showed rescuers clinging to a metal wire to try to reach the wreckage.
Doctors said nine people were seriously injured, including one whose life was in danger.
Prosecutor Andjela Radovanovic told reporters that the two people killed were a British national and an unidentified woman.
Both victims died instantly while the injured received help in Cetinje, police said in a message posted on social media.
“In the road accident, caused by the landing of a bus coming from the highway in which there were around 30 passengers, at least two people were killed – whose deaths were confirmed on the spot by the teams of HMP,” police said.
“Several passengers were slightly and seriously injured and are receiving medical treatment.”
The seriously injured were then transferred to a hospital in the capital Podgorica.
Cetinje is located in a mountainous area inland, about 32 kilometers from Budva.
The route is popular with tourists, with Budva being the most popular tourist destination in the small Balkan country.
The Foreign, Commonwealth and Development Office is said to be in contact with local authorities following the fatal crash.