Putney has turned red in a hard-fought contest that saw Labour gain at least one of several key London seats.
The south-west London constituency was listed as one of the 18 “super marginal seats that can topple the Tories” by Remain United, the tactical voting campaign group set up by Gina Miller.
Labour’s Fleur Anderson needed a 1.7% swing to overturn the Conservative’s 1,554 majority from 2017.
She gained 22,780 votes – a majority of 4,774 ahead of the Conservative candidate – which she called “a bright light in a dark night”.
The previous MP for Putney, Justine Greening, is not standing this time.
Ms Greening won Putney for the Conservatives at every election since 2005, though she ended her time in parliament as an Independent after disagreeing with Boris Johnson’s Brexit policy.
Speaking after the declaration, just before 2am at Wandsworth Civic Suite, Ms Anderson said: “A fantastic thank you to every single person who’s come out, even today in the rain, coming out, wanting and full of hope and positivity and optimism about the future. It’s really been fantastic to be part of.”
She added: “This is a bright light in a dark night. I’ve been clear on my views throughout the campaign. Brexit will be damaging for Putney, for Southfields, for Roehampton and for the whole country, and we want to remain.”
Asked afterwards what she thought about Labour’s future, Ms Anderson replied: “I don’t know, let’s see what they decide for the party tomorrow.”
The two other seats declared in Wandsworth, Battersea and Tooting, were Labour holds.
Marsha De Cordova kept her seat, more than doubling her majority to 5,668, while Rosena Allin-Khan comfortably held Tooting.
Speaking after her win, Ms Allin-Khan said: “I would also like to congratulate the two fantastic members of Parliament that have been elected tonight for Putney and Battersea.
“We have three red ladies in Wandsworth!” she added, as the room erupted in cheers.
Putney saw a 77.4 per cent turnout, Battersea 75.83% and Tooting 76.1%
All were increases compared to 2017.