The date was officially set after demonstrators took to the streets in protest at President Gjorge Ivanov's decision to halt probes into more than 50 public figures, including top politicians embroiled in a wire-tapping scandal.
"Based on my constitutional and legal authority... I today signed the decision to call early elections... On June 5, 2016," parliament speaker Trajko Veljanoski said in a statement.
The early elections, originally agreed for April 24 and then postponed in February to June 5, are part of an EU-brokered agreement to solve the seething political feud.
Ivanov, however, pledged to push ahead, vowing that the ballot would be a "new chapter for Macedonia".
Also Read
Thousands of people, mainly SDSM supporters, took to the streets yesterday in a mostly peaceful protest, demanding Ivanov either revoke his decision or resign, as well as calling for the election to be postponed.
Police responded by blocking off traffic near parliament and deploying four armoured vehicles and a water cannon, according to an AFP journalist.
The government denied the accusations and in response filed charges against Zaev, accusing him of "spying" and attempting to "destabilise" the Balkan country.
Gruevski, who had been prime minister since 2006, resigned in January in order to pave the way for early elections.
But tensions surged again Tuesday when Ivanov announced the halt of judicial investigations into 56 people, including his ally Gruevski -- still Macedonia's most influential political figure.
Both sides have said they would rather see the probe go ahead.