Beslutet stöddes av 303 parlamentariker, vilket är klart fler än 226 röster som krävdes för att anta lagen.
"Vi har inget annat alternativ än europeisk och euro-atlantisk integration" uppger president Petro Porosjenko i ett inlägg på Facebook enligt TASS.
Presidenten har tidigare sagt att Ukrainas alliansfrihet inte duger för att garantera landet säkerhet. Han försäkrar dock att ett beslut om medlemskap i Nato bör fattas av det ukrainska folket genom en folkomröstning.
Ukraina inledde förhandlingar om Natomedlemskap strax efter Sovjetunionens fall men kom senare att föra en mer neutral utrikespolitik. Ryssland har vid upprepade tillfället betonat vikten av Ukrainas alliansfrihet som en garanti för den euroatlantiska regionens säkerhet.