Labour selected as its candidate Sir Richard Acland, a baronet and former Liberal MP for Barnstaple. He had left the Liberal Party in 1942 to found the socialist Common Wealth Party, which polled well in war-time by-elections, but won only one seat at the 1945 general election. After his own defeat in Putney, where he came third with only 8% of the votes, Acland had joined Labour.
The Conservative Party candidate was Frank K. Taylor. The Liberals, who had polled only 12% of the vote in 1945, did not contest the election.
Labour, who had not lost a seat at a by-election since the general election, had done badly in the recent local elections and were concerned that the unpopularity of their economic policies might cause a loss of the seat. Although their majority was slashed from 7,056 to 1,675 they were satisfied with the result.