The succession had the backing of both the ruling centre-right Popular Party and the opposition Socialist party despite some Socialist misgivings.
Radical leftists in the chamber had demanded a referendum.
Madrid and other cities have seen anti-monarchy rallies since King Juan Carlos, 76, announced on June 2 he would step down.
King Juan Carlos said he was abdicating after nearly 40 years on the throne to make way for a “new generation”.
The government says parliament has to approve the transition as it requires a change in the 1978 constitution.
Referendum campaigners reacted furiously to the vote on Twitter, with the topic “We want to vote” quickly trending.
The bill was passed in Congress by 299 votes in favor to 19 against, and 23 abstentions.
It will now have to be approved by the upper house of parliament, the Senate, which is expected to vote on June 17. The prince is expected to be proclaimed King Felipe VI on June 19.
Opening the debate on Wednesday, PM Mariano Rajoy defended “the continuity of the institutions”, saying the “form of the state ” was not up for discussion.
“We are not here to modify facts but to underline with our bill that in Spain we rely on a resolutely democratic parliamentary monarchy,” he said.
Opinion polls published at the weekend give a mixed picture of sentiment among Spaniards.
A poll for the centre-left daily El Pais suggested 62% of people wanted a referendum, while 49% would favor the continuation of the monarchy under Felipe, compared with 36% who would back a republic.
Another poll, for the centre-right El Mundo, suggested 55.7% backed the monarchy and 72.9% thought Felipe would make a good king.
Felipe will inherit the throne at a time when Spain is struggling with high unemployment and growing demands for independence for Catalonia.
For much of King Juan Carlos’s reign, he was seen as one of the world’s most popular monarchs, but recently many Spaniards lost confidence in him.
In part, a long-running corruption investigation into the business dealings of King Juan Carlos’ daughter, Infanta Cristina, and her husband, Inaki Urdangarin, tarnished the monarchy’s reputation.
z4mcncewJOsThe US House Ethics Committee has voted to release its report on former Republican Representative…
ABC News has agreed to pay $15 million to President-elect Donald Trump to settle a…
South Korea’s parliament has voted to impeach President Yoon Suk Yeol over his failed attempt…
Israeli war planes have carried out more than 100 air strikes in Syria on December…
President-elect Donald Trump has threatened to impose 100% tariffs on the BRICS countries if they…
Syrian troops have withdrawn from the city of Aleppo following an offensive by rebels opposed…