Ukraine on Thursday adopted "historic" changes to its constitution, spelling out the ex-Soviet country's aspirations to join the EU and NATO two months before a crucial presidential vote.
In a final third reading in parliament, a total of 334 lawmakers approved the amendments to the country's basic law, with 35 voting against.
Changes to the constitution require 300 votes to pass.
Ukrainian President Petro Poroshenko, who initiated the bill and is running for re-election on March 31, called the passing of the legislation a "momentous" decision.
"It's a historic day today," he added.
After the vote, speaker Andriy Parubiy praised "the irreversibility of our European choice."
"Ukraine will join the EU, Ukraine will join NATO!" he added.
The amendments cement Kyiv's goal of obtaining full membership in the EU and NATO and oblige the president, the government and parliament to stick to the chosen course.
After five years in power marked by confrontation with Russia, Poroshenko launched his reelection bid last week, but his victory is far from assured.
Opinion polls put him behind Ukrainian comedian Volodymyr Zelensky and former prime minister Yulia Tymoshenko.
Some see the legislation as a move to buttress Poroshenko's standing in the runup to the polls.
Others say the adoption of such amendments would be difficult if a Kremlin-friendly candidate came to power in the March vote.
Ukraine has been fighting a Russian-backed insurgency in its eastern regions after Moscow annexed Crimea in 2014, in a conflict that has claimed some 13,000 lives.
Kyiv sees EU and NATO accession as a key way to bolster its defenses against Moscow.
Russia rejects the accusations that it has been arming the insurgents and sending its own troops across the border despite evidence to the contrary.