The Liberal Democrats won the Buckinghamshire seat that has been a Tory stronghold since its creation in 1974.
The proposed planning reforms were a major issue in the campaign amid fears about building in the countryside around the seat in the Chilterns.
And the controversial HS2 rail line being built through the constituency was another key factor.
Lib Dems leader Sir Ed Davey said his party’s victory would “send a shockwave through British politics”.
And he insisted the result showed that the “Blue Wall” of Tory southern seats could be vulnerable.
The Prime Minister admitted “it was certainly a disappointing result” when asked if he was neglecting voters in the South in favour of those in the North.
But he added: “We believe in uniting and levelling up within regions and across the country.”
Writing in the Telegraph, she said: “This by-election result should pave the way for a reduction in housing targets for the London suburbs and the South East.
“We need a fairer distribution of new homes across the country, rather than seeking to cram so many thousands more into the crowded South.
“There needs to be a stronger focus on brownfield sites in urban inner city areas.”
Tory MP for the Isle of Wight Bob Seely also said the Government “badly needs to think again about planning”.
He told the BBC: “This entire system feeds the over-development of the South and the under-development of other areas. It needs to change.”
The by-election was triggered by the death of former Cabinet minister Dame Cheryl Gillan, who took the seat with a huge majority of 16,233 in the 2019 general election.
But Sarah Green of the Lib Dems managed to secure a majority of 8,028 over the second-placed Tories.
Labour came behind the Greens in fourth place and lost their deposit in a humiliating blow after winning just 622 votes.