// Adds dimensions UUID, Author and Topic into GA4
Tuesday, September 22, 2026
29.9 C
Singapore

GE 2020: The main results

People’s Action Party (PAP)

In the General Election 2020, the People’s Action Party (PAP) has once again come out on top, garnering 83 out of a total 93 seats.

Receiving a total of 1,524,781 votes, Secretary-General Lee Hsien Loong and his party garnered a total of 61.24 per cent of votes in contested seats. This number has gone down from the election in 2015.

Workers’ Party

Out of a total 21 seats contested, the Workers’ Party, led by Chief Pritam Singh won 10 seats in Parliament. They garnered 279,245 votes or 50.49 per cent of votes in contested seats. This means an increase of about 10 percentage points from the 2015 elections.

Progress Singapore Party (PSP)

Dr Tan Cheng Bock’s PSP contested 24 seats but did not garner any. However, the party received a total of 253,459 votes or 40.85 per cent of votes in contested seats.

Singapore Democratic Party (SDP)

The SDP, led by Dr Chee Soon Juan and Chairman Paul Tambyah contested a total 11 seats but did not win any seats. They received a total of 110,827 votes or 37.04 per cent of votes in contested seats.

Hot this week

Fallen tree in the road was cleared in minutes as dozens of strangers unite to move the branch, preventing traffic

A tree branch suddenly fell across MacPherson Road during the evening rush hour yesterday (18th), obstructing traffic. Dozens of people spontaneously moved the branch, clearing a lane to prevent tr...

US self-driving car company enters Singapore, heating up driverless ride-hailing services in the country

Waymo, the American self-driving car company, announced plans to launch a fully autonomous ride-hailing service in Singapore starting in 2028, making Singapore Waymo 's first market in Southeast As...

Popular Categories

document.addEventListener("DOMContentLoaded", () => { const trigger = document.getElementById("ads-trigger"); if ('IntersectionObserver' in window && trigger) { const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { lazyLoader(); // You should define lazyLoader() elsewhere or inline here observer.unobserve(entry.target); // Run once } }); }, { rootMargin: '800px', threshold: 0.1 }); observer.observe(trigger); } else { // Fallback setTimeout(lazyLoader, 3000); } });
// //
Enable Notifications OK No thanks