// Adds dimensions UUID, Author and Topic into GA4
Thursday, September 10, 2026
29.1 C
Singapore

S$1.7M resale for 5-room HDB at SkyTerrace@Dawson sets Singapore record

SINGAPORE: A five-room Housing and Development Board (HDB) flat at SkyTerrace@Dawson in Queenstown was just sold for S$1.7 million, setting Singapore’s official highest recorded HDB resale price to date and beating the S$1.658 million five-room unit at the same development that set a then-record in June last year. 

The newly sold unit works out to about S$1,294 per square feet (psf) and still has around 89 years and three months left on its lease, as residents at the block received their Temporary Occupation Permit (TOP) in 2016.

Five-room units of SkyTerrace@Dawson were originally sold for roughly S$532,000 when the Build-To-Order (BTO) project launched in 2009, which means their value has “quadrupled” in less than 20 years.

The latest record resale price, according to property portal 99.co, was once limited to prime private developments, but now has hit public housing.

Perhaps it’s becoming an annual tradition for Queenstown to clinch the national record on HDB resale prices: in July 2024, a five-room flat at SkyOasis@Dawson was also sold for nearly S$1.73 million, although the sale is not listed in HDB’s official transaction database. /TISG

Read also: Million-dollar HDB resale flats rise nearly 50% to over 1,500 in 2025

Hot this week

From youth to yaturity: Netizens share the shifts they notice as they age

On Reddit, a netizen asked: What are some changes you noticed and realised that you have turned older / matured?

‘My boss turned nasty after I resigned!’: Worker seeks advice on dealing with difficult final weeks

SINGAPORE: After years of running his department largely on his own, one Singaporean worker finally decided he had had enough and handed in his resignation. But instead of making his departure eas...

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