The Scottish National Party is in jubilant mood after taking the Western Isles seat from Labour.
Angus MacNeil took the Western Isles for the SNP
Calum MacDonald, who won the seat from the SNP in 1987, was toppled by Nationalist Angus MacNeil, who beat him with a majority of 1,441.
Mr MacDonald's majority in 2001 was 1,074 in the constituency, known in Gaelic as Na h-Eileanan an Iar.
The victory delighted Nationalist leader Alex Salmond, who said it was a "stupendous" result.
Mr Salmond told BBC Scotland: "This is the first time that the Scottish National Party have won a seat from Labour in a UK General Election for 31 years."
SNP MSP Kenny MacAskill said: "Labour fought tooth-and-nail to hold onto this seat. They were unable to do so."
The seat was last held by the SNP's Donald Stewart 18 years ago and Mr Stewart had enjoyed a 17-year tenure as MP.
Mr MacDonald, a former junior government minister, said plans to build what has been dubbed Europe's largest windfarm development on the Lewis Peatlands had been a significant factor in his defeat.
He said: "It was a protest vote against the windfarm. Most people supported what I was saying about community ownership of windfarms but the message got drowned out by the hostility to the scheme."
Mr MacNeil, a 34-year-old acting primary school headteacher from Barra, said: "The windfarm was certainly a factor but other things have to change including why our population is dropping so much.
"Transport and other issues have to be fought for. The argument that we are remote holds no water - it is political remoteness we have suffered from and people here remember the times when we did not, the 17 years of SNP representation."
Mr MacNeil attracted 6,213 votes, 44.9% of the vote, compared to Mr MacDonald's 4,772 votes (34.3%). That represented a 9.2% swing to the SNP from Labour.
Dr Jean Davis of the Liberal Democrats scored 1,096 votes (7.9%), James Hargreaves of Operation Christian Vote polled 1,048 (7.5%), the Tories' Andy Maciver received 610 votes (4.4%) and the Scottish Socialist Joanne Telfer drew 97 votes (0.7%).