As the EU prepares for Brexit, Spain insisted that the UK territory be described that way in the draft law, which has upset London.
EU member states were then unable to agree on a joint position with the European Parliament for weeks as the lawmakers' point man for the file, Briton Claude Moraes, blocked it over the use of the term "colony", while other capitals took the side of Madrid.
As Britain faces the risk of an abrupt split from the bloc as soon as next week, EU states put pressure on the parliament this week to approve the file, with the chamber's head eventually removing Moraes from his role in a rare step.
The new so-called parliamentary rapporteur, Bulgarian EU lawmaker Sergei Stanishev, was picked on Tuesday, and today spoke before the committee voted 38 to 8 in favour of the law, which still calls Gibraltar a UK "colony".
"The 12th of April is coming and the faith of millions of UK citizens and EU citizens and their right to travel is in our hands," he said when asking the committee to back the proposal.
Some lawmakers said the legislation was "ludicrous", accused the Spanish government of intransigence ahead of national elections later this month, and complained about how the European Council which brings together member states bulldozed the European Parliament on the issue.
The decision must still be approved by a plenary session of the EU parliament tomorrow to become EU law.
It would give Britons visa-free travel to the EU even in the event of a no-deal Brexit, on condition that Britain offers the same terms to EU citizens visiting for up to 90 days.