Montenegro's parliament formally approved the country's accession to NATO on Friday, despite a boycott by pro-Russian opposition parties who are firmly against joining the Western military bloc.
After a small group of protesters burned a NATO flag outside the session in the historic capital of Cetinje, 46 out of 81 deputies voted in favour of joining the alliance.
The Balkan country, home to around 620,000 people, is expected to become an official member by late May, when a NATO summit will be held in Brussels.
The accession of Montenegro, which is strongly opposed by Russia, will complete the bloc's presence along the Adriatic coast as Greece, Albania and Croatia are already members.
Prime Minister Dusko Markovic said the accession would "have a positive effect on the stabilisation of the regional situation".
Accession must be approved by all 28 current member-states, and just two are still to give the official nod to the former Yugoslav republic.
US President Donald Trump signed off on the process earlier this month.
Around 200 supporters of the opposition Democratic Front gathered in protest outside the building on Friday, shouting "thieves" and "traitors" as the deputies entered.
"We will not recognise the decision of the parliament, your hands are tainted with blood," said Democratic Front leader Milan Knezevic, referring to NATO's bombing of Serbia and Montenegro in 1999 during the Kosovo war.
Moscow has long considered Montenegro, whose population is mostly Slavic Orthodox, to be within its sphere of influence.
After the vote in Montenegro, Russia's foreign ministry said in a statement: "Given the potential of Montenegro, the North Atlantic alliance is unlikely to receive any significant 'added value'.
"But in Moscow we cannot ignore the strategic consequences of this step. Therefore, we reserve the right to take such decisions, which are intended at protecting our interests and national security."