Polling ends at 5pm. Counting starts at 6pm. Results expected by 9.30pm. For the latest updates, please click ‘Refresh’ or ‘Reload’ in your browser.
9.42pm: At an already sombre gathering of about 300 PKR supporters at the Kuala Kubu Baru mini stadium, Zaid Ibrahim is seen shedding tears.
PM Najib Abdul Razak, says Zaid ( left ), spent RM64 million to ensure victory in Hulu Selangor.
This was the dirtiest and most corrupt by-election in Malaysian (history), with rampant vote buying, when "buying votes in daylight and in the dark have been accepted as halal ," said the lawyer.
"Unless we have a commission that stamps out blatant bribery - (which acts against people who say) we'll give you this much now and the rest later - then it will always be a hard fight," he said.
But still, said Zaid on an optimistic note, Pakatan lost only 1,725 votes despite all of BN's bribery.
"We lost because of votes that were bought. We faced a Machiavellian politics.
"I accept my defeat. In any contest, there must be one who is defeated.
"But let us have lost feeling contented, though we feel cheated.
PKR elections director Fuziah Salleh, too, tries her hand at consoling the crowd.
“This journey was built on our desire to seek truth and justice. If BN is desperate enough to do whatever to win, does that mean we should do the same? No! We fight with dignity.
“We will feel sad for a day or two but we will continue this journey. We will tell BN that this will not paralyse us,” she said.
9.27pm: Pakatan Rakyat has a post-poll gathering in Kuala Kubu Bahru Stadium. Selangor Menteri Besar Khalid Ibrahim, PKR candidate Zaid Ibrahim, DAP supremo Lim Kit Siang, Batu MP Tian Chua and Gombak MP Azmin Ali are there with about 300 dejected supporters.
"This is not the first time that we lost. This defeat will not dishearten us. PKR had once lost so much that we were left with one sole seat. We will continue to fight," said Tian Chua.
9.50pm: On-the-spot analysis
Speaking to reporters, PM Najib Abdul Razak says the victory of the BN candidate had a great significance for BN, "because we see the results of 2008 and the results of this (by-election), and it shows that there has been a shift of voters’ support for BN nearing the 2000 levels."
"It is very significant, because we were contesting in a state ruled by the opposition.
"When we contested before, Selangor was under the BN. But this time, we succeeded in taking back this constituency dominated by the opposition.
"With this victory, we will work hard to fulfill the aspirations of the people. Not only must we fulfill all our promises, but the expectations of the people must also be met in all aspects, whether in development, welfare or in addressing the needs of the voters in this constituency.
This victory means that victors have rejected the opposition. Their slander and their lies, these voters cannot accept," said the BN coalition chief.
Addressing the 6,000-majority benchmark set by his deputy Muhyiddin Yassin, Najib reiterated that BN was contesting on opposition territory.
“When we contested earlier, the state was under us, which meant that we were empowered at two levels - at the federal and at the state level. But now, we are only boosted by our federal powers.”
“If we can fufill all our promises and settle all the problems of the people, I believe in the next elections, we will win with a larger majority.”
Najib said further that a master-list of plans will be drawn up with Kamalanathan’s assistance to look into implementing all of BN’s promises.
MIC president S Samy Vellu, meanwhile, says that BN has won about 68% to 72% Indian votes in Hulu Selangor. He takes this as an encouraging sign and says that the party will launch an ‘MIC Baru’ to be closer to the Indian community.
MCA Kuala Kubu Bharu state representative Wong Koon Mun laments that only 30 percent Chinese in the constituency have voted for BN. According to him, MCA must find a new working model to attract Chinese voters to back BN again.
9.22pm: MIC president S Samy Vellu arrives during the Election Commission's announcement that party candidate P Kamalanathan has won the Hulu Selangor by-election.
9.11pm: Official results from Election Commission
BN - 24,997
PKR - 23,272
Spoilt votes - 731
9.09pm: Prime Minister Najib Razak arrives at the main tally centre in Kuala Kubu Bahru.
He is welcomed by supporters who shouted 'Hidup BN' (Long live BN). PKR candidate Zaid Ibrahim and top Pakatan Rakyat leaders could not be seen in the hall.
8.37pm: MIC deputy president G Palanivel and party secretary-general and Human Resources Minister Dr S Subramaniam are there to join their colleague P Kamalanathan in claiming victory. Also Home Minister Hishammuddin Hussein has arrived at the main tally centre.
8.30pm: P Kamalanathan and his wife arrives, and are standing next to Hulu Selangor Umno treasurer Zainal Sakom.
8.20pm: A smiling Muhyiddin arrives at the main tally hall in Kuala Kubu Bharu.
8.16pm: On-the-spot analysis
Pakatan Rakyat suffers it first loss in a state under its control. Out of the 10 by-elections since 2008 general elections, the score is Pakatan, 7, and BN, 3.
BN won in the state seats of Batang Air (Sarawak), Bagan Pinang (Negeri Sembilan) and Hulu Selangor (Selangor).
With its victory in Hulu Selangor, MIC has increased its representation in Parliament by three - P Kamalanathan is to join Dr S Subramaniam (Segamat), M Saravanan (Tapah) and SK Devamany (Cameron Highlands).
BN has won back some of voters who had refused to vote for the previous MIC candidate, G Palanivel. In the 2008 general elections, BN has bagged a collective majority of almost 6,000 votes in the three state seats under Hulu Selangor but yet lost the parliamentary seat by 198 votes.
For PKR, it has more or less maintain the number of votes it got two years ago. Zaid bagged 23,272 votes while the late Dr Zainal Abidin Ahmad got 23,177. On the other hand, BN has increased its tally by about 2,000 votes compared to what it got at the 2008 general elections.
BN - 24,669
PKR - 22,986
Majority - 1,683
8.13pm: DPM Muhyiddin Yassin has left the BN command centre and is said to be heading towards the Kuala Kubu Bahru nomination centre for the official results.
8.04pm: Prime Minister and BN chairperson Najib Abdul Razak is on his way to the main tally centre in Hulu Selangor, an indication that the coalition has won this by-election.
Deputy Prime Minister Muhyiddin Yassin is also on his way to the tally centre in Kuala Kubu Bahru.
8pm: On-the-spot analysis
BN has won big in Malay-majority areas, especially the Felda settlements. While PKR has won the Chinese-majority areas, but its margin of victory in these areas is not big enough to compensate its loss in the Malay-majority area.
PKR has won all Chinese-majority areas, while at the same time losing all Malay-majority areas.
According the 'saluran' results, young voters have voted overwhelmingly for Pakatan.
In addition, it appears that Indian voters have generally return to BN's fold.
7.49pm: Unofficial results
According to BN sources, P Kamalanathan (MIC) is leading Zaid Ibrahim (PKR) by about 2,000 votes.
PKR leaders have unofficially conceded defeat.
BN - 21,354
PKR - 19,917
Majority - 1,437
BN sources are claiming that they are leading by 3,000 to 4,000 votes. According to Umno Youth chief Khairy Jamaluddin, the unofficial tally so far is:
BN - 19,067
PKR - 17,554
Majority - 1,513
Election Commission 's official results
BN - 4,080
PKr - 4,547
Majority - 467
Election Commission 's official results
PKR - 2,722
BN - 2,468
Majority - 258
7.15pm: On-the-spot analysis
Early results show PKR winning two-thirds of the votes in Chinese-majority areas, below the 85 percent which DAP supremo Lim Kit Siang has wanted. According to Lim, PKR will need to win that much to win.
It is expected PKR will lose much of the votes in the Malay-majority Felda areas.
Election Commission 's official results
PKR - 2,173
BN - 1,934
Majority - 239
7.12pm: Unofficial results
PKR - 9,133
BN - 7,261
Majority - 1,872
About 33 percent of the votes have been tallied so far.
7.05pm: Unofficial results
PKR - 8,755
BN - 7,116
Majority - 1,639
7pm: On-the-spot analysis
Most of the Chinese-majority areas have been counted, with PKR leading by 1,226 votes. About 30 percent of the votes counted.
The votes in the Malay-majority areas have not to come in. PKR is expected not to do well in these areas. The race for Hulu Selangor is still open.
200 BN supporters are waiting at the BN command centre in Bukit Sentosa, though the ruling coalition’s top guns have not appeared yet.
Only Umno secretary-general Tengku Adnan Tengku Mansor and party vice-president Shafie Apdal are sitting in the meeting room looking on at the latest election results.
6.59pm: Unofficial results
PKR - 7,770
BN - 6,504
Majority - 1,226
6.57pm: Unofficial results
PKR - 7,410
BN - 6,339
Majority - 1,071
6.54pm: Unofficial results
BN - 6,010
Majority - 1,034
6.45pm: Unofficial results
PKR - 6,389
BN - 5,385
Majority - 1,004
So far about 11,674 votes, or 25 percent, of votes counted.
6.43pm: Unofficial results
PKR - 5,596
BN - 5,041
Majority - 555
6.41pm: Unofficial results
PKR - 4,204
BN - 3,592
6.37pm: On-the-spot analysis
According to early results, PKR is leading by a wide margin in Chinese areas and by a slight margin in mixed areas and is trailing behind BN in Malay areas.
For PKR to win, it needs to win big in Chinese and mixed areas to cover its expected loss in Malay areas.
6.34pm: Unofficial results
Kg Baru Cina KKB (Chinese area), saluran 2 - PKR 203, BN 77
Kg Baru Cina KKB (Chinese area), saluran 4 - PKR 256, BN 73
Kg Baru Cina KKB (Chinese area), saluran 1 - PKR 207, BN 56
Unofficial - PKR 666, BN 206
6.29pm: Unofficial results ( PKR 2,972, BN 2,259)
Bandar Kuala Kubu Bahru (mixed area), saluran 1 - PKR 135, BN 82
Bandar Kuala Kubu Bahru (mixed area), saluran 2 - PKR 272, BN 212
Bandar Kuala Kubu Bahru (mixed area), saluran 3 - PKR 490, BN 205
Unofficial - PKR 897, BN 499
6.23pm: Unofficial results
Kg Baru Batang Kali (Chinese area), saluran 1- PKR 220, BN 58
Hulu Yam Barat (mixed area), saluran 1 - PKR 205, BN 184
Ampang Pecah (Malay area), saluran 5 - PKR 148, BN 216
Hulu Yam Barat (mixed area), saluran 1 - PKR 224, BN 168
Kg Gumut (Malay area), saluran 1 - PKR 104, BN 172
Unofficial - PKR 901, BN 798
6.18pm: Unofficial results
Kg Sungai Tengi Selatan (Malay Felda), saluran 1 - PKR 62, BN 176
Kuala Kalumpang (mixed area), saluran 1 - PKR 98, BN 128
Kg Baru Rasa (Chinese area), saluran 1 - PKR 301, BN 75
Kg Bahru Kerling (Chinese area), saluran 1 - PKR 268, BN 122
Unofficial - PKR 729, BN 501
6.13pm: Unofficial results
Kuala Kalumpang, saluran 1 - PKR 98, BN 128
Ulu Yam Barat, saluran 1 - PKR 171, BN 94
Kg Bharu Kerling, saluran 1 - PKR 172, BN 83
Pertak Bukit Fraser - PKR 22, BN 15
Pertak, saluran 2 - PKR 18, BN 98
Ampang Pecah, saluran 1 - PKR 105, BN 155
Unofficial - PKR 491, BN 445
6.10pm: Counting has begun for the Hulu Selangor by-election. According to unofficial results, BN has won the postal votes.