Five people were killed and more than 20 were wounded early this morning when a man entered a cafe in northern Serbia and opened fire with a machine gun, police said.

Police arrested the suspect, a man in his late 30s identified only as Z.S., immediately after the shooting in the village of Zitiste, around 80 kilometres north of Belgrade.

Nebojsa Stefanovic, the interior minister, told Belgrade's B92 TV that Z.S. killed his estranged wife and a another woman, before firing at others in the cafe with an illegal weapon.

"Jealousy could be a motive," he said. "He was a quiet man; he had no criminal record."

Serbia and most of the western Balkans are awash with hundreds of thousands of illegal weapons following wars and unrest in the 1990s.

In a bid to reduce the number, Serbian police on Friday offered an amnesty over surrendering or registering illegal weapons until November.

Sign up to our free newsletters

Get the best updates straight to your inbox:
Please select at least one mailing list.

You can unsubscribe at any time by clicking the link in the footer of our emails. We use Mailchimp as our marketing platform. By subscribing, you acknowledge that your information will be transferred to Mailchimp for processing.