A small plane made an emergency landing on a main road in Croatia after its engine failed, surprising drivers but causing no injuries.

The incident happened on the road connecting the capital Zagreb with the northern Adriatic port of Rijeka.

It is one of the main roads in the country and is usually crowded during the tourist season and at weekends.

The plane landed safely on the road. Credit: Filip Marekovic/Vrbovsko Fire Brigade via AP

Firefighters from the nearby region of Vrbovsko gave “technical malfunction” of the plane as the reason for the landing.

The pilot of the single-engine Cessna 150 said he had a choice either to land in a field or on the road after the engine malfunctioned.

"It was a hard decision because the traffic was very dense today and I had to find space to land between cars," Teodor Goricanec told local media.

"Luckily no-one was injured," he added.