Det bör i praktiken betyda förbud för förbränningsmotorer från detta år.
Med röstsiffrorna 340-279 godkände Europaparlamentet den kompromiss som representanter från parlamentet och EU-länderna enades om den 28 oktober.
Ett delmål sätts till 2030 om 55 procents minskade koldioxidutsläpp från nya personbilar och 50 procents minskade utsläpp från nya skåpbilar.
”Denna förordning uppmuntrar tillverkning av fordon med inga och låga utsläpp. Målen skapar tydlighet för bilindustrin och stimulerar innovation och investeringar”, sade parlamentets huvudförhandlare, den nederländske liberalen Jan Huitema, i ett uttalande.
Biltillverkare med små volymer (1.000 till 10.000 nya bilar per år eller 1.000 till 22.000 skåpbilar) får undantag till slutet av 2035.
LÄS OCKSÅ: Trendbrottet: Nu är det billigare att äga en fossilbil
Tillverkare av färre fordon än 1.000 per år får ett permanent undantag, kallat Ferrari-undantaget eftersom det främst rör sig om sportbilar.
Från 2025 ska kommissionen vartannat år utvärdera hur EU närmar sig målet om noll utsläpp för fordon, inklusive effekten på konsumenter, sysselsättning och tillgången på fordon med låga utsläpp.
Nästa steg är att EU-länderna i ministerrådet röstar om överenskommelsen för ett slutligt godkännande.
Lagstiftningen är en del av EU:s stora klimatpaket Fit for 55, som ska sänka utsläppen av växthusgaser med 55 procent till 2030 jämfört med 1990.