VELDHOVEN, Netherlands — Dutch politicians are in a bidding war to convince voters ahead of a general election that they can solve a national shortage of 400,000 homes.
Most of them focus on one thing: build more.
While Dutch political parties agree on the need for more housing, there’s disagreement on how to do it.
The polling leader, far-right anti-immigration politician Geert Wilders, wants to raze the national public media campus and redevelop it into a residential neighborhood. GreenLeft-Labor wants to turn two airports into housing. And, in a country where more than a quarter of the land is below sea level, the progressive D66 party even wants to reclaim more land near Almere, a new town built in the 1970s.
For Caroline van Brakel, a Christian Democrat in the town of Veldhoven where the housing crunch is especially acute, there’s no need to close airports or create new islands to solve the Netherlands’ space issue.
“We’re building 400 new houses per year, while it used to be below 200,” Van Brakel told POLITICO this month while standing on a building site opposite the headquarters of ASML, Europe’s most-valuable tech company and the world-leading maker of chip manufacturing machines.
More housing can fit inside towns and cities, she thinks.
Van Brakel is the housing councilor for Veldhoven, a town separated from Eindhoven by only a highway — and has an ambitious plan to transform their four joined villages into a proper city.
A lot will need to squeeze in between the empty building site and the gleaming white towers of ASML.
“The river is coming back in a green belt, there will be a rapid transit line to Eindhoven and 2,800 housing units,” she said.
Getting crowded
Veldhoven lies in one of the country’s fastest-growing corners. With ASML as the main driver, Eindhoven’s “Brainport” region also includes other high-tech players, an automotive campus and one of the Netherlands’ three technical universities.

Almost every region of the Netherlands faces a severe housing crisis. Farmers across the kingdom — the second-largest agricultural exporter globally — might need to be bought out because there is too much nitrogen in the air. Nitrogen pollution from animal farming is another issue that where consecutive governments have failed to make the necessary changes. The electricity network is congested, the armed forces need more space and distribution centers have “boxed up” the flat landscape for years.
The Netherlands is already the most densely populated country in Europe (besides tiny states like Malta). Its population of 18 million is forecast to reach 19 million by 2037. And across Europe, twin crises of housing availability and affordability make up significant pressure points on politicians, both at national and EU levels.
Property prices in the Netherlands have almost quadrupled over the last 30 years, while wages have only doubled. In recent research by pollster Gallup, satisfaction with the availability of affordable housing plummeted from 65 percent to 29 percent between 2017 and now. Of people aged 15 to 29, only 14 percent were satisfied.
Home-hunters making just above minimum wage can no longer afford buy their own four walls — but also earn too much to qualify for social housing, which long made up the lion’s share of all dwellings in the country.
Reflecting a Europe-wide trend, the share of one-person households is rising. More seniors are being pushed to stay at home for as long as possible due to the cost of residential care, keeping high-quality houses occupied for longer. Finally, lax rules that allow investors to speculate on real estate add to the problem.
Because the issues are so tangled up, easy solutions won’t cut it. However, “No single party is genuinely considered as owning the issue” of housing, said Asher van der Schelde, senior researcher at polling company Ipsos I&O. That’s not for lack of trying. “They all make roughly the same point, namely: We need to build many more homes,” he said.
Wilders’ one-man Freedom Party is expected to top next week’s polls. The Christian Democrats (CDA), GreenLeft-Labor and liberals of D66 are all vying for second place. After Wilders blew up the last government, however, all the mainstream parties vowed to steer clear of him — complicating the task of forming a new government.
THE NETHERLANDS NATIONAL PARLIAMENT ELECTION POLL OF POLLS
circle.fill-NL-parliament-PVV,
rect.fill-NL-parliament-PVV,
svg.colorize path.fill-NL-parliament-PVV,
text.fill-NL-parliament-PVV {
fill: #0B2F65;
}
circle.stroke-NL-parliament-PVV,
rect.stroke-NL-parliament-PVV,
svg.colorize path.stroke-NL-parliament-PVV,
text.stroke-NL-parliament-PVV {
stroke: #0B2F65;
}
circle.fill-NL-parliament-PvdAGL,
rect.fill-NL-parliament-PvdAGL,
svg.colorize path.fill-NL-parliament-PvdAGL,
text.fill-NL-parliament-PvdAGL {
fill: #dc1f27;
}
circle.stroke-NL-parliament-PvdAGL,
rect.stroke-NL-parliament-PvdAGL,
svg.colorize path.stroke-NL-parliament-PvdAGL,
text.stroke-NL-parliament-PvdAGL {
stroke: #dc1f27;
}
circle.fill-NL-parliament-CDA,
rect.fill-NL-parliament-CDA,
svg.colorize path.fill-NL-parliament-CDA,
text.fill-NL-parliament-CDA {
fill: #1F9359;
}
circle.stroke-NL-parliament-CDA,
rect.stroke-NL-parliament-CDA,
svg.colorize path.stroke-NL-parliament-CDA,
text.stroke-NL-parliament-CDA {
stroke: #1F9359;
}
circle.fill-NL-parliament-D66,
rect.fill-NL-parliament-D66,
svg.colorize path.fill-NL-parliament-D66,
text.fill-NL-parliament-D66 {
fill: #14D522;
}
circle.stroke-NL-parliament-D66,
rect.stroke-NL-parliament-D66,
svg.colorize path.stroke-NL-parliament-D66,
text.stroke-NL-parliament-D66 {
stroke: #14D522;
}
circle.fill-NL-parliament-VVD,
rect.fill-NL-parliament-VVD,
svg.colorize path.fill-NL-parliament-VVD,
text.fill-NL-parliament-VVD {
fill: #0b2bca;
}
circle.stroke-NL-parliament-VVD,
rect.stroke-NL-parliament-VVD,
svg.colorize path.stroke-NL-parliament-VVD,
text.stroke-NL-parliament-VVD {
stroke: #0b2bca;
}
circle.fill-NL-parliament-JA21,
rect.fill-NL-parliament-JA21,
svg.colorize path.fill-NL-parliament-JA21,
text.fill-NL-parliament-JA21 {
fill: #318ec4;
}
circle.stroke-NL-parliament-JA21,
rect.stroke-NL-parliament-JA21,
svg.colorize path.stroke-NL-parliament-JA21,
text.stroke-NL-parliament-JA21 {
stroke: #318ec4;
}
circle.fill-NL-parliament-FvD,
rect.fill-NL-parliament-FvD,
svg.colorize path.fill-NL-parliament-FvD,
text.fill-NL-parliament-FvD {
fill: #841718;
}
circle.stroke-NL-parliament-FvD,
rect.stroke-NL-parliament-FvD,
svg.colorize path.stroke-NL-parliament-FvD,
text.stroke-NL-parliament-FvD {
stroke: #841718;
}
circle.fill-NL-parliament-SP,
rect.fill-NL-parliament-SP,
svg.colorize path.fill-NL-parliament-SP,
text.fill-NL-parliament-SP {
fill: #b01200;
}
circle.stroke-NL-parliament-SP,
rect.stroke-NL-parliament-SP,
svg.colorize path.stroke-NL-parliament-SP,
text.stroke-NL-parliament-SP {
stroke: #b01200;
}
circle.fill-NL-parliament-Denk,
rect.fill-NL-parliament-Denk,
svg.colorize path.fill-NL-parliament-Denk,
text.fill-NL-parliament-Denk {
fill: #01b7b2;
}
circle.stroke-NL-parliament-Denk,
rect.stroke-NL-parliament-Denk,
svg.colorize path.stroke-NL-parliament-Denk,
text.stroke-NL-parliament-Denk {
stroke: #01b7b2;
}
circle.fill-NL-parliament-PvdD,
rect.fill-NL-parliament-PvdD,
svg.colorize path.fill-NL-parliament-PvdD,
text.fill-NL-parliament-PvdD {
fill: #2f692f;
}
circle.stroke-NL-parliament-PvdD,
rect.stroke-NL-parliament-PvdD,
svg.colorize path.stroke-NL-parliament-PvdD,
text.stroke-NL-parliament-PvdD {
stroke: #2f692f;
}
circle.fill-NL-parliament-SGP,
rect.fill-NL-parliament-SGP,
svg.colorize path.fill-NL-parliament-SGP,
text.fill-NL-parliament-SGP {
fill: #e68005;
}
circle.stroke-NL-parliament-SGP,
rect.stroke-NL-parliament-SGP,
svg.colorize path.stroke-NL-parliament-SGP,
text.stroke-NL-parliament-SGP {
stroke: #e68005;
}
circle.fill-NL-parliament-Volt,
rect.fill-NL-parliament-Volt,
svg.colorize path.fill-NL-parliament-Volt,
text.fill-NL-parliament-Volt {
fill: #8c268b;
}
circle.stroke-NL-parliament-Volt,
rect.stroke-NL-parliament-Volt,
svg.colorize path.stroke-NL-parliament-Volt,
text.stroke-NL-parliament-Volt {
stroke: #8c268b;
}
circle.fill-NL-parliament-BBB,
rect.fill-NL-parliament-BBB,
svg.colorize path.fill-NL-parliament-BBB,
text.fill-NL-parliament-BBB {
fill: #BCD86C;
}
circle.stroke-NL-parliament-BBB,
rect.stroke-NL-parliament-BBB,
svg.colorize path.stroke-NL-parliament-BBB,
text.stroke-NL-parliament-BBB {
stroke: #BCD86C;
}
circle.fill-NL-parliament-CU,
rect.fill-NL-parliament-CU,
svg.colorize path.fill-NL-parliament-CU,
text.fill-NL-parliament-CU {
fill: #0e96c7;
}
circle.stroke-NL-parliament-CU,
rect.stroke-NL-parliament-CU,
svg.colorize path.stroke-NL-parliament-CU,
text.stroke-NL-parliament-CU {
stroke: #0e96c7;
}
circle.fill-NL-parliament-GL_2023,
rect.fill-NL-parliament-GL_2023,
svg.colorize path.fill-NL-parliament-GL_2023,
text.fill-NL-parliament-GL_2023 {
fill: #00F53D;
}
circle.stroke-NL-parliament-GL_2023,
rect.stroke-NL-parliament-GL_2023,
svg.colorize path.stroke-NL-parliament-GL_2023,
text.stroke-NL-parliament-GL_2023 {
stroke: #00F53D;
}
circle.fill-NL-parliament-BIJ1_2023,
rect.fill-NL-parliament-BIJ1_2023,
svg.colorize path.fill-NL-parliament-BIJ1_2023,
text.fill-NL-parliament-BIJ1_2023 {
fill: #decf6d;
}
circle.stroke-NL-parliament-BIJ1_2023,
rect.stroke-NL-parliament-BIJ1_2023,
svg.colorize path.stroke-NL-parliament-BIJ1_2023,
text.stroke-NL-parliament-BIJ1_2023 {
stroke: #decf6d;
}
circle.fill-NL-parliament-P50PLUS,
rect.fill-NL-parliament-P50PLUS,
svg.colorize path.fill-NL-parliament-P50PLUS,
text.fill-NL-parliament-P50PLUS {
fill: #6762a3;
}
circle.stroke-NL-parliament-P50PLUS,
rect.stroke-NL-parliament-P50PLUS,
svg.colorize path.stroke-NL-parliament-P50PLUS,
text.stroke-NL-parliament-P50PLUS {
stroke: #6762a3;
}
circle.fill-NL-parliament-NSC,
rect.fill-NL-parliament-NSC,
svg.colorize path.fill-NL-parliament-NSC,
text.fill-NL-parliament-NSC {
fill: #F0C400;
}
circle.stroke-NL-parliament-NSC,
rect.stroke-NL-parliament-NSC,
svg.colorize path.stroke-NL-parliament-NSC,
text.stroke-NL-parliament-NSC {
stroke: #F0C400;
}
circle.fill-NL-parliament-PvdA_2023,
rect.fill-NL-parliament-PvdA_2023,
svg.colorize path.fill-NL-parliament-PvdA_2023,
text.fill-NL-parliament-PvdA_2023 {
fill: #FF221F;
}
circle.stroke-NL-parliament-PvdA_2023,
rect.stroke-NL-parliament-PvdA_2023,
svg.colorize path.stroke-NL-parliament-PvdA_2023,
text.stroke-NL-parliament-PvdA_2023 {
stroke: #FF221F;
}
For more polling data from across Europe visit POLITICO Poll of Polls.
Expanding inwards
One of the buyers of an apartment opposite ASML, a 24-year-old project manager at the company called Bart, said he preferred a two-year wait for a new apartment over buying an overpriced house in need of renovation.
“Rents are very high here, and existing housing seems totally full. But most people need to find something right now, so they cannot wait for new projects,” said Bart, who declined to give his last name.
Veldhoven lacks a train station, meaning there’s lots of traffic around ASML amid an unusually car-friendly townscape. Van Brakel explained the municipality will receive funding from The Hague for its express bus connection to Eindhoven.
But to make that line feasible, the narrow band between ASML and the old town square of Veldhoven, small- and medium-sized enterprises will need to make way for a whole new neighborhood.
This reflects the long-standing Dutch tradition of “inbreiden,” or “in-panding” (as opposed to expanding) within town limits instead of pushing into precious green areas. “The countryside mosaic needs to be protected,” Van Brakel added. “A few big cities — but otherwise, smaller towns and green between the villages.”
Patience required
Veldhoven’s new apartment buildings have a long process behind them, with construction only starting now — seven years after the first permit requests. Including this October’s, three national elections have taken place in that period. The housing shortage has only increased since, with prices rising at record speed in 2021.
!function(){“use strict”;window.addEventListener(“message”,(function(a){if(void 0!==a.data[“datawrapper-height”]){var e=document.querySelectorAll(“iframe”);for(var t in a.data[“datawrapper-height”])for(var r=0;r<e.length;r++)if(e[r].contentWindow===a.source){var i=a.data["datawrapper-height"][t]+"px";e[r].style.height=i}}}))}();
“Politics can barely keep up with technology and the economy these days,” said Leiden University philosophy lecturer Bart Zantvoort. If elections keep occurring every two years, there is less time to change policy — and less incentive for politicians to sketch long-term horizons.
“Citizens are often unwilling to accept the slowness inherent in democratic politics, creating more dissatisfaction,” he said, acknowledging that this might explain why most of Wilders’ voters continue to support him even after he blew up the coalition government last summer.
Other parties don’t seem to have a clear counternarrative, instead adopting Wilders-style tactics like scrapping airports or farmland in favor of housing. “All pigs in this country have a roof above their head — but a student or first-time buyer cannot even find an affordable broom cupboard,” D66 leader Rob Jetten said in a recent debate.
“Nowadays, it becomes almost impossible to construct a political movement based on broad consensus,” said Zantvoort. He linked the testy political climate to increasing social polarization that is undermining the give-and-take that once characterized consensus politics in the Netherlands — and in pluralist parliamentary democracies across Europe.
Back in Veldhoven, Bart says he bought his future apartment under an arrangement called duokoop, which involves also paying a small monthly rent for the land the building stands on. “That scares away the speculative investors,” he explained, adding that it also means the units are not all gone in a few days’ time.
Hanne Cokelaere, Pieter Haeck and Eva Hartog contributed to this report.



Follow