// Adds dimensions UUID, Author and Topic into GA4
Friday, July 24, 2026
31.1 C
Singapore

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

SINGAPORE: Million-dollar Housing and Development Board (HDB) resale flat deals rose nearly 50% in 2025, with 1,544 flats sold as of Dec 18, up from 1,035 last year, according to HDB transaction figures from data.gov.sg. The number is expected to reach 1,550 by year-end, says Huttons Asia’s senior director of analytics, Lee Sze Teck.

EdgeProp Singapore reported that the priciest HDB resale this year was a 1,313 sq ft five-room flat at SkyTerrace @ Dawson in Queenstown, which sold for S$1.659 million in June and had about 90 years remaining on its lease.

Other high-end transactions included a five-room flat and an executive maisonette in Bishan that sold for S$1.632 million and S$1.6 million, respectively, as well as a five-room flat at The Pinnacle @ Duxton and a five-room Design, Build and Sell Scheme (DBSS) flat in Toa Payoh, each fetching S$1.6 million.

Still, Mr Lee noted that the average price of a million-dollar flat in 2025 was only 1.8% higher than last year, at around S$1.14 million, indicating that most deals were at the lower end of the million-dollar range and suggesting “price resistance among buyers”.

ERA Singapore’s key executive officer, Eugene Lim, also noted that only 6.4% of the 20,694 resale flat applications submitted in the first ten months of 2025 crossed the million-dollar mark. /TISG

Read also: First 3-room flat in Sembawang sells above S$900 psf, beating average 5-room prices in the same month

- Advertisement -

Hot this week

Netizens split over litter at Dataran Merdeka: More bins or more civic responsibility?

The rubbish left behind has many Malaysians asking whether cleaner public spaces start with better facilities or better habits.

Malaysia: Netizens say enough is enough as more condos rise near KLCC

How many more condos does KLCC need? Some Malaysians say the city's skyline is becoming increasingly crowded.

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